昨天我收到了一些很棒的用户的帮助,并认为我会再次遇到我遇到的另一个问题。我一直使用this.Close();
关闭我的winform
,但是在这种情况下,我要从变量返回值,并利用this
这样做,以便当我的代码击中this.Close();
时winform
未关闭,因为this
引用了其他内容
(或者至少我认为这是问题所在)-我所追求的是一种在代码达到winform TestData
this.Close();
的方法
当前正在发生的是一个以
开头的无休止的代码循环if (spreadsheetimported == true)
{
-如果需要显示其他代码,可以-
public partial class TestData : Form
{
public CancelFileImport p1;
public TestData(CancelFileImport _p1)
{
p1 = _p1;
InitializeComponent();
}
private void Testing_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
if (ssi == true)
{
CancelFileImport CFI = new CancelFileImport(this);
CFI.StartPosition = FormStartPosition.CenterParent;
CFI.ShowDialog();
if (cnclsve)
{
this.Close();
}
else
{
//user did not mean to cancel the save
//go back to save method
}
}
}
}
}
public partial class CancelFileImport : Form
{
public static TestData _p1;
public CancelFileImport(TestData p1)
{
_p1 = p1;
InitializeComponent();
}
public CancelFileImport()
{
InitializeComponent();
}
private void btnYes_Click(object sender, EventArgs e)
{
_p1.ssi = true;
this.Close();
}
private void btnNo_Click(object sender, EventArgs e)
{
_p1.ssi = false;
this.Close();
}
}
答案 0 :(得分:0)
尝试这样做
将this.Close();
替换为TestData.ActiveForm.Dispose();