• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 541
  • Last Modified:

C# - Close a messageBox before displaying anther.

Hello everybody.
Target: XP, Vista, 7
Environment: VS2010 Ultimate, C#, WinForms.

How to add message in a messageBox previously opened in C#?
||,
How to get the message of a messageBox previously opened, close this messageBox; show another messageBox whit the previously message and show in the next line another message?

Thanks in advance,
ocaccy
0
ocaccy
Asked:
ocaccy
  • 8
  • 5
  • 4
9 Solutions
 
Meir RivkinFull stack Software EngineerCommented:
do u control on the first messagebox being displayed?
aren't you the one who show it?
0
 
AndyAinscowCommented:
Typically a MessageBox will block the thread calling it until the message box is closed by the user.
Assuming you are showing the message box yourself then it makes more sense to concatenate the messages you want displayed before you show the message box.
0
 
ocaccyAuthor Commented:
sedgwick, I use this:

MessageBox.Show(DateTime.Now.ToString("yyyy/M/d")+","+DateTime.Now.ToString("HH:mm:ss")+",Read error!");

Open in new window


Andy, I'll have some events that show messagebox, however we only allow one messageBox. Thus must concatenate the messages according to the events.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
Meir RivkinFull stack Software EngineerCommented:
so before you show the first messagebox, save the message in some variable which will be used to concatenate in the second mesagebox.
0
 
ocaccyAuthor Commented:
I thought about that too. But how close the messageBox that is open to open another with the concatenate message?
0
 
Meir RivkinFull stack Software EngineerCommented:
how do u open it?
Show() or ShowDialog()?
0
 
ocaccyAuthor Commented:
MessageBox.Show(
0
 
ocaccyAuthor Commented:
Also need to know how to clear the variable which will be used to concatenate messages
if the USER clicks on button messageBox?
0
 
Meir RivkinFull stack Software EngineerCommented:
when using MessageBox.Show(), the window is not modal which means user can still interact with the main form.
is that what u want?
or do u want to force the user to click either button first?
0
 
AndyAinscowCommented:
This is roughly what you require:
At class level you can have a string variable.

String sMessage;
...
sMessage += "hello ";
....
sMessage += world";
....

Then to show it use a normal message box
MessageBox.Show(sMessage);  //which does show the message box as modal


And to reset it on a button press for example
sMessage = "";
0
 
ocaccyAuthor Commented:
I need that when has a event that show messageBox, before close the messageBox opened, after this show the new messageBox. If use MessageBox.ShowDialog?
0
 
AndyAinscowCommented:
MessageBox only supports Show (which opens it as modal, there is no modeless version - I think sedgwick mixed it up with a form which supports both variants).
0
 
Meir RivkinFull stack Software EngineerCommented:
My mistake u right
0
 
ocaccyAuthor Commented:
Then, you guys have any suggestions for this problem?  I think if use another form like a messageBox, right?
0
 
AndyAinscowCommented:
>> you guys have any suggestions for this problem?

I'm really puzzled, exactly what is the problem.  Can you give an actual example of how you need this functionality.
Is your app using multiple threads (or numbers of modeless forms the user interacts with) to get data from somewhere?
0
 
ocaccyAuthor Commented:
Ok, I'm trying this code now!
        void messageBoxForm()
            {
            if(Application.OpenForms.OfType<MessageForm>().Count()>0)
                {
                MessageForm.ActiveForm.Disposed+=new EventHandler(closeMessageForm);
                }

            TopMost=false;
            MessageForm messageform=new MessageForm();
            messageform.ShowDialog();
            TopMost=Settings.Option.StayOnTop;
            Font=Settings.Option.MonoFont?monoFont:origFont;
            }

        private void closeMessageForm(object sender, EventArgs e)
           { MessageForm.ActiveForm.Dispose(); }

Open in new window

0
 
ocaccyAuthor Commented:
Thank you for helping me, despite the weak explanation that I orrered them my problem.

Regards,
ocaccy
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 8
  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now