设置窗口+动态创建控件

一时兴起来看看C#窗口类程序

1、设置窗口的大小

           // 设置当前窗口的大小
            int win_width = 560;
            int win_height = 450;
            Size size = new Size(win_width, win_height);
            this.Size = size;
设置窗口的位置

   // 设置当前窗口位于桌面的中心位置
            Rectangle screenarea = System.Windows.Forms.Screen.GetWorkingArea(this);
            int point_x = (screenarea.Width - win_width) / 2;
            int point_y = (screenarea.Height - win_height) / 2;
            Point point = new Point(point_x, point_y);
            this.Location = point; 

2、创建lable控件

    public partial class Form1 : Form
    {
        // the control of the main window 
        Label lable_connect = new Label();
        public Form1() {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e) {
            Size lable_size = new Size(45, 30);
            Point lable_point = new Point(20, 20); 
            create_lable(lable_point, lable_size, "未连接");
        }
        /* Func:    create lable for state of adb shell
         * Arg:     lable_point    the point of lable
         *          lable_size     the size of lable
         *          lable_text     the text of lable          
         */ 
        private bool create_lable(Point lable_point, Size lable_size, string lable_text) {
            try {
                lable_connect.Top = lable_point.Y;
                lable_connect.Left = lable_point.X;
                lable_connect.Size = lable_size;
                lable_connect.Text = lable_text;
                lable_connect.ForeColor = Color.Red;
                this.Controls.Add(lable_connect);
                return true;} 
           catch (Exception e) {
                MessageBox.Show(e.Message);
                return false;
            }
        }
    }

3、创建textbox并实现拖拉文件到文本框之后,文本框显示文件的完整路劲

public partial class Form1 : Form
    {
        // the control of the main window 
        TextBox textbox_file = new TextBox();
        public Form1() {
            InitializeComponent();
        }
private void Form1_Load(object sender, EventArgs e) {
            create_textbox("Drag file->Auto Result", 20, 30);
        }
	private bool create_textbox(string textbox_str, int texbox_left, int textbox_top) {
            try {
                textbox_file.AllowDrop = true;
                textbox_file.DragDrop += new DragEventHandler(textbox_file_DragDrop);
                textbox_file.DragEnter += new DragEventHandler(textbox_file_DragEnter);
                textbox_file.Text = textbox_str;
 		textbox_file.Top = textbox_top;
                textbox_file.Left = texbox_left;
                textbox_file.AutoSize = false;
                textbox_file.Height = 40;
                textbox_file.Width = 300;
                textbox_file.ReadOnly = true;
                textbox_file.BackColor = Color.White; // set textbox background color
                textbox_file.TextAlign = HorizontalAlignment.Center; // appear in the center
                this.Controls.Add(textbox_file);
		return true;
            } catch (Exception e) {
                MessageBox.Show("create textbox failed and the Reason is below:" + e.Message);
                textbox_file.Dispose();
                return false;
            }
        }
        void textbox_file_DragDrop(object sender, DragEventArgs e) {  
	   // get the file path and name 
            string file_excle_path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
            textbox_file.Text = file_excle_path;
            this.textbox_file.Cursor = System.Windows.Forms.Cursors.IBeam; //Restore mouse shape
        }
// it will be trigger when the file is draged int this area
 	 void textbox_file_DragEnter(object sender, DragEventArgs e) {
            if (e.Data.GetDataPresent(DataFormats.FileDrop)) {
                e.Effect = DragDropEffects.Link; // 这个是必须的,否则无法获取文件路劲
                this.textbox_file.Cursor = System.Windows.Forms.Cursors.Arrow; // Specify mouse shape
            } else {
                e.Effect = DragDropEffects.None;
            }
        }
    }

4、创建下拉框选项并添加下拉事件

  public partial class Form1 : Form
    {
        // the control of the main window 
        ComboBox combobox_type = new ComboBox();
        public Form1() {
            InitializeComponent();
        }
	private void Form1_Load(object sender, EventArgs e) {
            Size box_size = new Size(75, 47);
            Point box_point = new Point(100, 200);
            string[] box_type = { "sdfadsf", "sdfsdf", "dsf" };
            create_combox(combobox_type, box_size, box_point, box_type, 1);
            this.combobox_type.SelectedIndexChanged += new System.EventHandler(combobox_type_SelectedIndexChanged);
        }
	private void combobox_type_SelectedIndexChanged(object sender, System.EventArgs e) {
            MessageBox.Show("SDFADSFADSF");
     }
	private bool create_combox(ComboBox create_combobox, Size combobox_size, Point combobox_point, string[] combobox_text, int num) {
            try {
                create_combobox.Size = combobox_size;
                create_combobox.Top = combobox_point.Y;
                create_combobox.Left = combobox_point.X;
                if (num != 1) {
                    create_combobox.Left = combobox_point.X + combobox_size.Width + 50;
                }
 		// add combox selet choose
                for (int i = 0; i < combobox_text.Length; i++) {
                    create_combobox.Items.Add(combobox_text[i]);
                }
                create_combobox.SelectedIndex = 0;
                this.Controls.Add(create_combobox);
                return true;
            } catch (Exception e) {
		MessageBox.Show("Create combox failed and the Reason is below:" + e.Message);
                create_combobox.Dispose();
                return false;
            }
        }
    }


5、添加按钮以及按钮点击响应事件

    public partial class Form1 : Form
    {
        Button button_control = new Button();
        public Form1() {
            InitializeComponent();
        }
 	private void Form1_Load(object sender, EventArgs e) {
            Size btn_size = new Size(60, 30);
            Point button_point = new Point(360, 400);
            create_button(button_control, "bt", button_control_click, btn_size, button_point);
        }
 	private bool create_button(Button create_button, string button_text, System.EventHandler button_click, Size button_size, Point point_first) {
            try {
                create_button.Size = button_size;
                create_button.Location = point_first;
                create_button.Text = button_text;
                create_button.ForeColor = Color.Red;
		create_button.Font = new Font(create_button.Font, create_button.Font.Style | FontStyle.Bold);
                create_button.Click += button_click;
                this.Controls.Add(create_button);
                return true;
            } catch (Exception e) {
                MessageBox.Show("Create button failed and the Reason is below:" + e.Message);
                create_button.Dispose();
                return false;
            }
	}
        private void button_control_click(object sender, EventArgs e) {
            MessageBox.Show("sdfsdf");
        }
    }

6、添加datagridview表格控件以及添加行

    public partial class Form1 : Form
    {
        DataGridView datagridview_content = new DataGridView();
        public Form1() {
            InitializeComponent();
        }
private void Form1_Load(object sender, EventArgs e) {
            create_datagridview(20);
        }
        private bool create_datagridview(int datgridview_left) {
Int32 ID = 0;
            Int32 State = 1;
            Int32 Result = 2;
            try {
                datagridview_content.Width = 500;
                datagridview_content.Height = 300;
                datagridview_content.Top = 60;
                datagridview_content.Left = datgridview_left;
                datagridview_content.RowHeadersWidth = 100;  // set row height
                datagridview_content.AllowUserToResizeColumns = true;
                datagridview_content.RowHeadersVisible = false;
                datagridview_content.ReadOnly = true;
                datagridview_content.ColumnCount = 3;
                datagridview_content.Columns[ID].Width = 50;
                datagridview_content.Columns[ID].Resizable = DataGridViewTriState.False;
                datagridview_content.Columns[ID].Name = "a";
                datagridview_content.Columns[State].Width = 247;
                datagridview_content.Columns[State].Resizable = DataGridViewTriState.False;
                datagridview_content.Columns[State].Name = "b";
                datagridview_content.Columns[Result].Width = 200;
                datagridview_content.Columns[Result].Resizable = DataGridViewTriState.False;
                datagridview_content.Columns[Result].Name = "c";
                this.Controls.Add(datagridview_content);
                return true;
            } catch (Exception e) {
                MessageBox.Show("create datagrid failed and the Reason is below:" + e.Message);
                datagridview_content.Dispose();
                return false;
            }
        }
  	private void button1_Click(object sender, EventArgs e) {
            int index = 0;
            index = datagridview_content.Rows.Add();
            datagridview_content.Rows[index].Cells[0].Value = "L";
            datagridview_content.Rows[index].Cells[1].Value = "N";
            datagridview_content.Rows[index].Cells[2].Value = "M";
            DataGridViewRow row = datagridview_content.Rows[index];
            datagridview_content.CurrentCell = datagridview_content[0, index];  // force move cursor to the last         
        }
    }











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值