问题描述
我有一个 Modal ShowDialog 表单。尝试关闭创建的表单,如果发生以下两件事之一 按下表单上的 1 个按钮或 2 静态变量中的值发生变化。到目前为止,该按钮有效,我可以使用另一个按钮来检查值的状态并查看更改?如何让第二部分关闭表单?
Main_Menu.cs
public void OverloadTripearly()
{
OverloadTripEarly overloadTripEarly = new OverloadTripEarly();
overloadTripEarly.Owner = this;
overloadTripEarly.ShowDialog();
// overloadTripEarly.Refresh();
// OLTrip = overloadTripEarly; // assign object to enter
}
OverloadTripEarly.cs code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinFormTitlepageNew
{
public partial class OverloadTripEarly : Form
{
public OverloadTripEarly()
{
InitializeComponent();
}
private void btnOK_Click(object sender,EventArgs e)
{
if (backgroundWorker1.IsBusy)
{
backgroundWorker1.CancelAsync();
}
else
{
this.Close(); // close if button is pressed
this.Dispose();
}
}
private void OverloadTripEarly_Load(object sender,EventArgs e)
{
}
private void backgroundWorker1_DoWork(object sender,DoWorkEventArgs e)
{
do
{
Thread.Sleep(100);
GlobalVariables.OverloadTest = NIDMMPXIeSlot5ConsoleApplication.SingleResistance
MeasurementApp();
if (double.IsNaN(GlobalVariables.OverloadTest))
{
GlobalVariables.OverloadFlag = true;
this.Close();
e.Cancel = true;
}
if (backgroundWorker1.CancellationPending)
{
e.Cancel = true;
this.Close();
return;
}
} while (double.IsNaN(GlobalVariables.OverloadTest));
}
private void backgroundWorker1_ProgressChanged(object sender,ProgressChangedEventArgs e)
{
}
private void backgroundWorker1_RunWorkerCompleted(object sender,RunWorkerCompletedEventArgs e)
{
if (e.Cancelled)
{ this.Close();
this.Dispose();
}
}
private void button1_Click(object sender,EventArgs e)
{
GlobalVariables.OverloadTest = NIDMMPXIeSlot5ConsoleApplication.SingleResistance
MeasurementApp();
if (double.IsNaN(GlobalVariables.OverloadTest))
{
textBox1.Text = "NaN".ToString();
}
else
{ textBox1.Text = GlobalVariables.OverloadTest.ToString(); }
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)