我有一个MainForm,里面有一个Textbox和一个Button。然后我有一个带有一个按钮的第二个表单。在程序启动时,MainForm被初始化,当我点击按钮时,第二个表单显示(ShowDialog()
)仍然保持打开MainForm。
所以我将这两种形式相互打开。我想要的是,当我点击按钮时,按钮会向MainForm发送一个字符串。 MainForm将获取文本并将其显示在文本框中。但我希望立即进行更改 - 无需再隐藏和显示MainForm。当按下第二个表单上的按钮时,有点像刷新它。
我该怎么做?
注意:让发送到MainForm的文本以第二种形式声明是很重要的。 (在我的程序中,文本在第二个表单级别动态更改)
答案 0 :(得分:1)
尝试将TextBox发送到第二种形式和第二种形式的构造函数,当您单击按钮时,更改TextBox的Text属性,它将显示为更新,因为它们指的是相同的的地方。
public partial class Form1 : Form
{
public Form1(TextBox txt)
{
InitializeComponent();
this.txt = txt;
}
//variable
TextBox txt = null;
private void button1_Click(object sender, EventArgs e)
{
txt.Text = "Your text";
}
}
答案 1 :(得分:0)
如果我正确理解,您需要在winform中创建一个属性。 例如:
public partial class frmLogin : Form
{
public bool LoggedIn
{
get { return loggedIn; }
}
public frmLogin()
{
InitializeComponent();
}
}
// Now, in your forms, you can do.
frmLogin frm = new frmLogin ();
frm.ShowDialog();
var value = frm.LoggedIn;