Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框

1、先画出弹出对话框的windows窗体
Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框

代码如下:

 1 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 using  System;
 2 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 using  System.Collections.Generic;
 3 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 using  System.ComponentModel;
 4 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 using  System.Data;
 5 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 using  System.Drawing;
 6 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 using  System.Text;
 7 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 using  System.Windows.Forms;
 8 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
 9 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 namespace  CustomControlSample
10 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 {
11Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框    public partial class FrmSimpleCustomTypeDialogEditor : Form
12Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框    {
13Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        private SimpleCustomType _simpleCustomType;
14Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
15Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        public SimpleCustomType SimpleCustomTypeProperty
16Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        {
17Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            get return _simpleCustomType; }
18Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            set { _simpleCustomType = value; }
19Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        }

20Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
21Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
22Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        public FrmSimpleCustomTypeDialogEditor(SimpleCustomType sct)
23Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        {
24Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            InitializeComponent();
25Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            this._simpleCustomType = sct;
26Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            this.textBox1.Text = sct.Min.ToString();
27Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            this.textBox2.Text = sct.Max.ToString();
28Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        }

29Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
30Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        private void button1_Click(object sender, EventArgs e)
31Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        {
32Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            this.DialogResult = DialogResult.OK;
33Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            this._simpleCustomType.Min = int.Parse(this.textBox1.Text);
34Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            this._simpleCustomType.Max = int.Parse(this.textBox2.Text);
35Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            this.Close(); // 这句随便写不写?!!
36Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        }

37Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
38Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        private void button2_Click(object sender, EventArgs e)
39Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        {
40Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            this.Close();
41Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        }

42Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
43Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        private void textBox1_Validating(object sender, CancelEventArgs e)
44Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        {
45Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            try
46Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            {
47Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框                int.Parse(textBox1.Text);
48Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            }

49Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            catch (FormatException)
50Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            {
51Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框                e.Cancel = true;
52Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框                MessageBox.Show("无效的值。""验证错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
53Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            }

54Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        }

55Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
56Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        private void textBox2_Validating(object sender, CancelEventArgs e)
57Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        {
58Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            try
59Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            {
60Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框                int.Parse(textBox2.Text);
61Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            }

62Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            catch (FormatException)
63Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            {
64Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框                e.Cancel = true;
65Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框                MessageBox.Show("无效的值。""验证错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
66Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框            }

67Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框        }

68Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
69Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框    }

70Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框}


2、再编写属性值编辑器类

 1 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 SimpleCustomTypeDialogEdit

3、再添加一个属性,并用EditorAttribute 指定相应的编辑器类

 1 Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框 弹出属性值编辑对话框的属性

The end.

你可能感兴趣的:(WinForm)