按钮文本显示
btn.Text="按钮名字";
模式按钮: 带编辑功能的按钮(按钮右击,弹出新窗体,配置按钮的属性)
btn_MouseDown 按钮事件
右击Click:
#region 右击事件
private void btn_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)//是右键
{
if (sender is Button btn)
{
FrmQuickSet frm = new FrmQuickSet(btn.Text?.ToString(),btn.Tag?.ToString());
//显示出按钮配置新窗体
if (frm.ShowDialog()== DialogResult.OK)
{
btn.Text = frm.m命令名;
btn.Tag = frm.m命令内容;
}
//frm.textBox1_命令名称.Text;
}
}
}
#endregion
呼叫下层。(下层新建窗体时传入ui层的参数,利用下层的构造方法)
#region 窗体构造
public FrmQuickSet(string m命令名,string m命令内容)
{
InitializeComponent();
this.textBox1_命令名称.Text = m命令名;
this.textBox2_命令内容.Text = m命令内容;
}
public FrmQuickSet()
{
InitializeComponent();
}
#endregion
配置窗体的代码
using Gossip.Properties;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Gossip
{
public partial class FrmQuickSet : Form
{
#region 全局变量
Settings dt动态保存 = new Settings();
#endregion
#region 全局属性
public string m命令名 { get; set; }
public string m命令内容 { get; set; }
#endregion
#region 窗体构造
public FrmQuickSet(string m命令名,string m命令内容)
{
InitializeComponent();
this.textBox1_命令名称.Text = m命令名;
this.textBox2_命令内容.Text = m命令内容;
}
public FrmQuickSet()
{
InitializeComponent();
}
#endregion
private void button1_Click(object sender, EventArgs e)
{
this.m命令名 = this.textBox1_命令名称.Text;
this.m命令内容 = this.textBox2_命令内容.Text;
this.DialogResult = DialogResult.OK;//本窗体的一个属性
this.Close();
}
}
}
按钮统一事件
this.btn测试.Click += new System.EventHandler(this.btn测试_Click);
private void btn测试_Click(object sender, EventArgs e)
{
MessageBox.Show("测试");
}
按钮事件相当于【子窗体】按钮业务写在了主窗体内,所以需要用【委托】
按钮【子窗体】触发的信号,要去呼叫【主窗体】的程序。