显示或显示对话框阻止其他表单C#

时间:2015-08-28 15:51:25

标签: c# winforms

我有2个表格。首先是一个简单的记事本,我做了一个查找功能。效果非常好,但我添加this.Close();来获得结果。如果我不关闭FindForm,则“查找”按钮的操作不起作用。我看到第一个表单被阻止,我无法写另一个文本。如果我删除this.close()并在按下查找工作后关闭FindForm。 我如何在新线程中打开FindForm?我使用FindForm f = new FindForm();f.showDialog(); 如果我做Thread Th;我使用这个线程打开FindForm,我的功能将不再工作。是否有任何方法可以打开其他形式而没有阻止第一种形式?

FindForm

public FindDialog()
{
    InitializeComponent();
}
private void button_Find_Click_1(object sender, EventArgs e)
{
    Form1.FindText = textBox_Text.Text;
    this.Close();
}

的MainForm

public void findNewToolStripMenuItem_Click(object sender, EventArgs e)
{

    FindDialog gtl = new FindDialog();
    gtl.Show();
    richTextBox1.Select();

    if (FindText != null)
    {
        k = richTextBox1.Find(FindText);
    }

}

1 个答案:

答案 0 :(得分:4)

调用<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:centerColor="#c1c1c1" android:endColor="#4f4f4f" android:gradientRadius="400" android:startColor="#c1c1c1" android:type="radial" > </gradient> </shape> 将阻止调用者,直到对话框关闭(即它是模态的) - 如果您不想要这种行为,请调用ShowDialog,这将无模式打开子表单(即调用代码可以继续)

例如,您可以执行以下操作:

Show