gpt4 book ai didi

c# - 如何使用 C# 从另一个窗体按下按钮?

转载 作者:行者123 更新时间:2023-11-30 14:56:53 24 4
gpt4 key购买 nike

我有两种形式:

  1. 制作截图的Form1。
  2. Form2 有 2 个按钮来操作 form1 创建的屏幕截图。

Form1 还有一个“隐藏”按钮,其中包含保存屏幕截图的方法。

我的问题:

如何从 form2 单击 form1 的按钮?和我如何检查 form1 何时关闭然后关闭 form2?

我已经尝试过类似的操作,但是当我点击 form2 保存按钮时没有任何反应:

var form = Form.ActiveForm as Form1;
if (form != null)
{
form.button1.PerformClick();
}

最佳答案

首先,多个表单的正常工作方式是,当您关闭启动表单时,辅助表单也会关闭。如果您在 Form1 中创建您的 Form2,我会使用 (your second Forms Instance).Show(this) 来显示它。然后您可以通过 Form2 的父属性访问该表单。即

      var form = (Form1)this.Owner();

然后您应该能够访问 Form1 的所有公共(public)方法,另外我会把您用来保存屏幕截图的代码放入公共(public)方法中,不需要它在 Button 的点击事件中,尤其是当按钮被隐藏时。

这是一个简单的例子:

Form1

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.Show(this);
}

}

Form2

public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
var frm = (Form1)this.Owner;
if (frm != null)
frm.button1.PerformClick();
}
}

关于c# - 如何使用 C# 从另一个窗体按下按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21650376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com