不同窗体间修改对方控件属性
在WinForms应用程序中,若要从TestForm修改Form1中控件的Text属性,你需要确保Form1的实例在TestForm中是可访问的。有几种方法可以实现这一点,最常见的方法是通过构造函数传递Form1的引用,或者使用公共属性或方法来设置。
首先确保控件(在本例中为Button)在Form1中是可访问的,设置Modifiers为public。如果它是private,你需要添加一个公共方法(如上面注释掉的SetButtonText方法)来修改它的Text属性。
Form1:button1(text=待被TestFrom修改Test的按键),button2(text=打开TestForm)

TextForm:button1(text=修改Form1按键)

确保你的TestForm有一个方法或属性可以接收Form1的引用。这可以通过在TextForm的构造函数中添加一个参数来实现。
TestForm完整代码:
using System.Windows.Forms; namespace demo1.Views { public partial class TestForm : Form { private Form1 form1instance; public TestForm(Form1 form1) { InitializeComponent(); form1instance = form1; } private void button1_Click(object sender, System.EventArgs e) { form1instance.ChangeText("成功修改"); } } }
Form1的完整代码:
using demo1.Views; using System.Windows.Forms; namespace demo1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void ChangeText(string Message) { button1.Text = Message; button1.Refresh(); } private void button2_Click(object sender, System.EventArgs e) { new TestForm(this).Show(); } } }
实现效果:


浙公网安备 33010602011771号