winform中A窗体调用B窗体的方法
时间: 2023-06-04 11:07:38 浏览: 105
这是一个技术问题,我可以为您回答。在WinForm中,A窗体调用B窗体的方法可以使用以下代码:
B窗体:
```
public void MethodName()
{
//方法体
}
```
A窗体:
```
BForm b = new BForm();
b.MethodName(); //调用B窗体的方法
```
希望对您有所帮助。
相关问题
winform关闭窗体调用方法
在WinForms中,当关闭窗体时,可以使用Form类的Close()方法或者Dispose()方法来调用关闭窗体的方法。
1. 使用Close()方法:
在窗体类中,可以通过调用`this.Close()`来关闭当前窗体。例如,在窗体的关闭按钮的Click事件中可以添加以下代码来调用关闭窗体的方法:
```csharp
private void closeButton_Click(object sender, EventArgs e)
{
this.Close();
}
```
2. 使用Dispose()方法:
Dispose()方法用于释放窗体及其相关资源。当调用Dispose()方法时,窗体将被销毁并释放资源。可以通过覆写窗体类的Dispose(bool disposing)方法来自定义在关闭窗体时执行的操作。例如:
```csharp
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
```
请注意,在关闭窗体时,这两种方法都会触发FormClosing和FormClosed事件,你可以通过订阅这些事件来执行自定义的操作。
WinForm中一个窗体调用另一个窗体的控件和事件的方法(附带源码)
可以使用委托(Delegate)和事件(Event)的方式实现。
首先,在被调用的窗体中定义一个委托和事件:
```csharp
public delegate void MyEventHandler(object sender, EventArgs e);
public event MyEventHandler MyEvent;
```
然后,在需要调用该事件的地方,调用该事件:
```csharp
MyEvent?.Invoke(this, EventArgs.Empty);
```
接着,在调用该事件的窗体中,在构造函数中订阅该事件:
```csharp
public Form1()
{
InitializeComponent();
form2.MyEvent += Form2_MyEvent;
}
```
在事件处理方法中,可以调用被调用窗体中的控件和方法:
```csharp
private void Form2_MyEvent(object sender, EventArgs e)
{
form2.textBox1.Text = "Hello, world!";
form2.button1.PerformClick();
}
```
下面是完整的源码示例:
被调用窗体 Form2 的代码:
```csharp
public partial class Form2 : Form
{
public delegate void MyEventHandler(object sender, EventArgs e);
public event MyEventHandler MyEvent;
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MyEvent?.Invoke(this, EventArgs.Empty);
}
}
```
调用窗体 Form1 的代码:
```csharp
public partial class Form1 : Form
{
private Form2 form2;
public Form1()
{
InitializeComponent();
form2 = new Form2();
form2.MyEvent += Form2_MyEvent;
}
private void button1_Click(object sender, EventArgs e)
{
form2.ShowDialog();
}
private void Form2_MyEvent(object sender, EventArgs e)
{
form2.textBox1.Text = "Hello, world!";
form2.button1.PerformClick();
}
}
```
阅读全文