|
Hi,
I have a Form called Form1 that contain a DataGridView. This is an MDI N-Tier Application. In the Form2 Form_Load event I have a method that executes when the form loads.
How can I NOT execute this event when I click on the "New" menu option?
I tried the following but it does not work:
Form2 frm2 = new Form();
if(frm2.Menustrip Functionality)
{
Method()
}
else
{
}
Illegal Operation
|
|
|
|
|
if its in Load event then no you cant but you can make that method public and call it when require.
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Can you maybe show me a quick example? I am sorry but I do not know how to call it? It's purpose is to set a property I need to browse records.
Illegal Operation
|
|
|
|
|
its same as you calling it from Load event.
frm2.ThatMethod();
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
in my app the cldfrm's MDIparent=this in the main form.when i try to show the chldfrm by using showdialog() i get this exception.
Form that is not a top-level form cannot be displayed as a modal dialog box. Remove the form from any parent form before calling showDialog.
what i want is to stop accessing the main form while the child form is displaying
|
|
|
|
|
Instead of using MDIParent = this; try using MDIParent = ParentForm.ActiveForm;
Illegal Operation
|
|
|
|
|
thanx for your replpy , but when i try MdiParent = ParentForm.ActiveForm; the ActiveForm wasn't in the list but i tried MdiParent = ParentForm and i works .
|
|
|
|
|
now again i get another problem, once i set the things like that the chldfrm is not in the MDI scope , means onec u maximize the form it goes beyound the main form frame. means the MDI concept is not working. any suggestions to over come this
|
|
|
|
|
Dude you cannot use ShowDialog if you are keeping it as a child form .. .
just go for show();
E.g.
Form2 frm = new Form();
frm.MdiParentForm = this;
frm.Show();
|
|
|
|
|
I wrote an article about this here[^]. The solution is to restrict the movement of a dialog form rather than trying to make a dialog form a child which isn't possible.
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
|
|
|
|
|
good day people
so i have a windows service and i want to call a windows form to show (modally) when i run the service, basically i call the method callform() on the onStart method
when i run the service the form starts to load right? so i get this dialog from windows saying it detects a dialog from interactive services or something and i choose to view the message and the screen turns blue and it shows my form, i want the service to show my form but not on that blue screen, but in windows
what should i do? i have no idea how to fix this
|
|
|
|
|
mirko86 wrote: what should i do
Do something else. Services should not interact with the desktop. If you really want to do something like this, you have to have another application that communicates with the service.
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
Help humanity, join the CodeProject grid computing team here
|
|
|
|
|
What happens if no user is logged on? Where will your UI be displayed then?
Having a service interact with the desktop is VERY bad. Look for an alternative solution.
|
|
|
|
|
I am in a class, and need assistance to convert the HH:MM to decimal when reading from a timecard table.
OneTreeUp
|
|
|
|
|
Use string.Split to get two numbers, then int.TryParse to convert to ints, then cast those to double when doing the division to get a decimal.
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
or use TimeSpan.Parse("2:30").TotalHours or TimeSpan.Parse("2:30").TotalMinutes to get a real number representing the amount of time in the unit of your choice.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Cool, I did not know that ( never had a need )
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
how to install and configure lotus notes and domino server s/w..?
how to send mails through lotus notes...?
plss reply....
pls send the snapshots of those if found...
|
|
|
|
|
WTF. Lotus Notes doesn't even contain the letter C or the # symbol, so how did you stumble on this forum or figure it as an appropriate place to post.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys
|
|
|
|
|
If you found this forum b/c someone else mentioned notes before, sorry about that. They were trying to ask a programming question tho. This is not a forum for support for software users. It's a forum for people who write code.
Notes really, really sucks. If you're not installed it, I'd recommend you don't.
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
Hi!
I am (still) working on the project I asked for something in this message:
http://www.codeproject.com/script/Forums/View.aspx?fid=1649&msg=2956783
I am trying to follow Luc Pattyn's advice on make some synchronous threading, one to scan the serialport in a loop(scanThread), and one to write what the first thread "found" to the textbox(writeThread). The threadcalls in them self seem to function(on debugging), but when the writeThread tries to invoke the textbox something seems to go wrong, and the UI hangs. I have googled the question, and found that it's a frequent problem, but everyone answers the the .Invoke() or .BeginInvoke() is the answer. However, here it isn't.
The lock I have implemented in the attached code was just because I tried to synchronize the threads, it doesn't work any better without(or with ). But I would like a little opinion if I have written it correct, seems strange to me that the "this" will refer to "line".
However, it's the UI "hanging" which is my main problem right now. I really can't see what's wrong..
Thanks!
Jon
Norway
The Code:
public partial class Picaxecomm : Form
{
private Thread scanThread;
private Thread writeThread;
private String line;
private SerialPort serialPort;
private Boolean start;
private AutoResetEvent autoEvent;
public Picaxecomm()
{
InitializeComponent();
serialPort = new SerialPort();
initializePort();
autoEvent = new AutoResetEvent(false);
scanThread = new Thread(new ThreadStart(readPic));
writeThread = new Thread(new ThreadStart(writeDisp));
}
public void initializePort()
{
serialPort.PortName = "COM5";
serialPort.BaudRate = 4800;
serialPort.DataBits = 8;
serialPort.ReadTimeout = 100;
serialPort.Open();
serialPort.DtrEnable = true;
}
private void knapp_Click(object sender, EventArgs e)
{
if (start == false)
{
writeThread.Start();
scanThread.Start();
start = true;
}
}
public void readPic()
{
try
{
int i = serialPort.ReadByte();
lock (this)
{
line = Convert.ToString(i);
}
autoEvent.Set();
}
catch (TimeoutException)
{
}
Thread.Sleep(50);
readPic();
}
public void writeDisp()
{
autoEvent.WaitOne();
if (display.InvokeRequired)
{
display.Invoke(new MethodInvoker(delegate() { setDispText(); }));
}
else
{
setDispText();
}
}
public void setDispText()
{
display.Text = line;
serialPort.DiscardInBuffer();
writeDisp();
}
private void Picaxecomm_Load(object sender, EventArgs e){}
}
}
|
|
|
|
|
jondaeh wrote: if (display.InvokeRequired) { display.Invoke(new MethodInvoker(delegate() { setDispText(); })); } else { setDispText(); }
Try using BeginInvolke and returning
|
|
|
|
|
jondaeh wrote: if (display.InvokeRequired) { display.Invoke(new MethodInvoker(delegate() { setDispText(); })); } else { setDispText(); }
Try using BeginInvoke and returning
|
|
|
|
|
I have already tried BeginInvoke method, that didn't make any difference. Sorry, forgot to write that. What do you mean with "returning"?
Jon.
|
|
|
|
|
Welcome to the world of the dead(lock)
The method writeDisp calls setDispText and setDispText calls writeDisp. That looks very bad.
Do not abuse Invoke and use it for setting data in the control from a different thread without other code (the set display text also discards a serial port buffer).
Natza Mitzi
|
|
|
|