Solved

C# - Close a messageBox before displaying anther.

Posted on 2013-06-19
17
530 Views
Last Modified: 2013-06-30
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
Comment
Question by:ocaccy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 5
  • 4
17 Comments
 
LVL 42

Assisted Solution

by:sedgwick
sedgwick earned 278 total points
ID: 39258932
do u control on the first messagebox being displayed?
aren't you the one who show it?
0
 
LVL 44

Assisted Solution

by:AndyAinscow
AndyAinscow earned 222 total points
ID: 39258953
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
 

Author Comment

by:ocaccy
ID: 39258982
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
Independent Software Vendors: 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!

 
LVL 42

Assisted Solution

by:sedgwick
sedgwick earned 278 total points
ID: 39259042
so before you show the first messagebox, save the message in some variable which will be used to concatenate in the second mesagebox.
0
 

Author Comment

by:ocaccy
ID: 39259107
I thought about that too. But how close the messageBox that is open to open another with the concatenate message?
0
 
LVL 42

Assisted Solution

by:sedgwick
sedgwick earned 278 total points
ID: 39259138
how do u open it?
Show() or ShowDialog()?
0
 

Author Comment

by:ocaccy
ID: 39259162
MessageBox.Show(
0
 

Author Comment

by:ocaccy
ID: 39259173
Also need to know how to clear the variable which will be used to concatenate messages
if the USER clicks on button messageBox?
0
 
LVL 42

Assisted Solution

by:sedgwick
sedgwick earned 278 total points
ID: 39259261
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
 
LVL 44

Assisted Solution

by:AndyAinscow
AndyAinscow earned 222 total points
ID: 39259465
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
 

Author Comment

by:ocaccy
ID: 39259557
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
 
LVL 44

Assisted Solution

by:AndyAinscow
AndyAinscow earned 222 total points
ID: 39259573
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
 
LVL 42

Assisted Solution

by:sedgwick
sedgwick earned 278 total points
ID: 39259972
My mistake u right
0
 

Author Comment

by:ocaccy
ID: 39260575
Then, you guys have any suggestions for this problem?  I think if use another form like a messageBox, right?
0
 
LVL 44

Accepted Solution

by:
AndyAinscow earned 222 total points
ID: 39261574
>> 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
 

Author Comment

by:ocaccy
ID: 39261586
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
 

Author Closing Comment

by:ocaccy
ID: 39289070
Thank you for helping me, despite the weak explanation that I orrered them my problem.

Regards,
ocaccy
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
If you're a developer or IT admin, you’re probably tasked with managing multiple websites, servers, applications, and levels of security on a daily basis. While this can be extremely time consuming, it can also be frustrating when systems aren't wor…

695 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question