c# WinForm 文本输入对话框
这种功能为什么不向MessageBox一样自带,还得自己写~~
代码:
public InputBox(string label) { InitializeComponent(); label1.Text = label; } public InputBox(string label, string title) { InitializeComponent(); label1.Text = label; this.Text = title; } //取消 private void button2_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; this.Close(); } //确定 private void button1_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.OK; Value = textBox1.Text; this.Close(); }private void InputBox_Load(object sender, EventArgs e) { textBox1.Focus(); textBox1.Text = Value; } public string Value { get; set; }
窗体设计:
注意修改窗口属性:
this.AcceptButton = this.button1; this.CancelButton = this.button2; this.FormBorderStyle = FormBorderStyle.FixedDialog;
用法:
InputBox inp = new InputBox("Lable内的值"); DialogResult dr = inp.ShowDialog(); if (dr == DialogResult.OK && inp.Value.Length > 0) { 操作代码 } inp.Dispose();