winform父窗体传送int值给子窗体
时间: 2024-11-16 20:13:11 浏览: 1
在Windows Form应用程序中,如果你想要从父窗体(Parent Form)将`int`值传递给子窗体(Child Form),你可以通过以下几种方式:
1. **通过构造函数**: 当创建子窗体实例时,可以在其构造函数中接收这个值。
```csharp
public partial class ChildForm : Form {
private readonly int value;
public ChildForm(int intValue) {
InitializeComponent();
value = intValue;
// 可以在这里对value进行处理
}
}
// 父窗体上创建子窗体并传值
ChildForm childForm = new ChildForm(42);
childForm.Show();
```
2. **公共属性**:在子窗体中声明一个公共的`int`属性,然后在父窗体上调用它。
```csharp
public partial class ChildForm : Form {
public int MyValue { get; set; }
}
// 在父窗体传递值
ChildForm childForm = new ChildForm();
childForm.MyValue = 42;
childForm.Show();
```
3. **事件系统**: 如果你想在子窗体状态改变时通知父窗体,可以设置一个事件并在子窗体内部触发。
```csharp
public partial class ChildForm : Form {
private int myValue;
public event EventHandler<MyValueChangedEventArgs> ValueChanged;
protected virtual void OnValueChanged() {
if (ValueChanged != null)
ValueChanged(this, new MyValueChangedEventArgs(myValue));
}
// 在适当的时候更新myValue,并触发事件
public void SetValue(int newValue) {
myValue = newValue;
OnValueChanged();
}
}
// 在父窗体监听子窗体的变化
ChildForm childForm = new ChildForm();
childForm.ValueChanged += (sender, e) => {
// 处理子窗体的值变化
};
childForm.Show();
```
阅读全文