c# - 想从 2 个按钮打开相同的表单,但每个按钮都可以打开一次
问题描述
如果我从按钮 1 打开表单显示客户,如果我从按钮 2 打开表单显示供应商,我有显示客户和供应商的表单
这里的问题我想为每个按钮打开表单 1 次我制作了这段代码,但第一次它只适用于第一个打开的表单,另一个按钮打开的次数与我单击按钮一样多
if (Application.OpenForms[frm.Name] != null)
{
if (Application.OpenForms[frm.Name].Text == e.Item.Caption)
{
frm = Application.OpenForms[frm.Name];
frm.BringToFront();
}
else
{
frm.Show();
}
}
else
frm.Show();
解决方案
好的,这是包含按钮的表单的代码。我只是把它叫做Form1。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnCustomer_Click(object sender, EventArgs e)
{
btnCustomer.Enabled = false;
CustomerVendorForm form = new CustomerVendorForm(btnCustomer);
form.Show();
}
private void btnVendor_Click(object sender, EventArgs e)
{
btnVendor.Enabled = false;
CustomerVendorForm form = new CustomerVendorForm(btnVendor);
form.Show();
}
这是 CustomerVendor 表格:
public partial class CustomerVendorForm : Form
{
Button Form1Button;
public CustomerVendorForm(Button button)
{
InitializeComponent();
Form1Button = button;
}
private void CustomerVendorForm_FormClosed(object sender, FormClosedEventArgs e)
{
Form1Button.Enabled = true;
}
所以我们禁用了他们点击的按钮。打开表单,传递按钮。当用户关闭表单时,按钮会重新启用。
那有意义吗?
推荐阅读
- linux - Xinetd 服务器连接被拒绝
- rest - Yii2 Rest Controller 和公共变量
- javascript - 在 Bootstrap 卡中显示加载程序
- smooch - Smooch: How to trigger postback when user clicks a button?
- vbscript - 查找字符串并相应地重新格式化
- sql - 运行时错误“3704”关闭对象时不允许操作。VBA 中的 SQL 语句
- maven - 带有 Netbeans/Maven 注释的 Lombok 未被识别/工作
- c# - Xamarin IOS 应用程序崩溃异常:EXC_BAD_ACCESS (SIGABRT)
- html - ul 浮动在父 div 底部边框上
- node.js - NodeJs fs.createWriteStream:'wx'标志不起作用