110,499
社区成员
发帖
与我相关
我的任务
分享
public partial class MainForm : Form
{
private MessageForm _messageForm;
private Thread _testThread;
private bool _createMessge = true;
public MainForm()
{
InitializeComponent();
_testThread = new Thread(new ThreadStart(TestRecieveMsg));
}
internal MessageForm MessageForm
{
get
{
if (_messageForm == null)
{
_messageForm = new MessageForm();
}
return _messageForm;
}
}
private void TestRecieveMsg()
{
while (_createMessge)
{
string testMessage = "This is Test Message! " + DateTime.Now.ToShortTimeString();
BeginInvoke(new MethodInvoker(delegate()
{
MessageForm.SetMessage(testMessage);
if (!MessageForm.Visible)
{
MessageForm.Show();
}
}));
Thread.Sleep(1000);
}
}
private void button1_Click(object sender, EventArgs e)
{
_testThread.Start();
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
_createMessge = false;
_testThread.Join();
_testThread.Abort();
}
}
public partial class MainForm : Form
{
private MessageForm _messageForm;
private Thread _testThread;
private bool _createMessge = true;
public MainForm()
{
InitializeComponent();
_testThread = new Thread(new ThreadStart(TestRecieveMsg));
}
internal MessageForm MessageForm
{
get
{
if (_messageForm == null)
{
_messageForm = new MessageForm();
}
return _messageForm;
}
}
private void TestRecieveMsg()
{
while (_createMessge)
{
string testMessage = "This is Test Message! " + DateTime.Now.ToShortTimeString();
MessageForm.SetMessage(testMessage);
if (!MessageForm.Visible)
{
MessageForm.Show();
}
Thread.Sleep(1000);
}
}
private void button1_Click(object sender, EventArgs e)
{
_testThread.Start();
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
_createMessge = false;
_testThread.Join();
_testThread.Abort();
}
}
public partial class MessageForm : Form
{
public MessageForm()
{
InitializeComponent();
}
internal void SetMessage(string message)
{
if (messageTextBox.InvokeRequired)
{
messageTextBox.Invoke(new MethodInvoker(delegate()
{
messageTextBox.AppendText(message);
messageTextBox.AppendText("\n");
}));
}
else
{
messageTextBox.AppendText(message);
messageTextBox.AppendText("\n");
}
}
}