一时兴起来看看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;
}
}
}
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
}
}