winform利用button跟listview实现类似QQ设置中的导航菜单。
主要利用了DockStyle。
具体的代码如下:
(注意)尤其要注意控件创建的顺序。
我的控件的创建顺序如下(在.Design.cs中):
this .groupBox1 = new System .Windows . Forms. GroupBox (); this .button1 = new System .Windows . Forms. Button (); this .button2 = new System .Windows . Forms. Button (); this .button3 = new System .Windows . Forms. Button (); this .button4 = new System .Windows . Forms. Button (); this .button5 = new System .Windows . Forms. Button (); this .button6 = new System .Windows . Forms. Button (); this .listView1 = new System .Windows . Forms. ListView ();
主要代码如下:
//用listview跟6个button来实现导航菜单的功|能
private void button1_Click( object sender, EventArgs e) { ResetButton(); //reset button listView1 . Dock = DockStyle. None; button2 . Dock = DockStyle. Bottom; button3 . Dock = DockStyle. Bottom; button4 . Dock = DockStyle. Bottom; button5 . Dock = DockStyle. Bottom; button6 . Dock = DockStyle. Bottom; listView1 . BringToFront(); listView1 . Dock = DockStyle. Bottom; listView1 . Clear(); } private void button2_Click( object sender, EventArgs e) { ResetButton(); //reset button listView1 . Dock = DockStyle. None; button3 . Dock = DockStyle. Bottom; button4 . Dock = DockStyle. Bottom; button5 . Dock = DockStyle. Bottom; button6 . Dock = DockStyle. Bottom; listView1 . BringToFront(); listView1 . Dock = DockStyle. Bottom; listView1 . Clear(); } private void button3_Click( object sender, EventArgs e) { ResetButton(); //reset button listView1 . Dock = DockStyle. None; button4 . Dock = DockStyle. Bottom; button5 . Dock = DockStyle. Bottom; button6 . Dock = DockStyle. Bottom; listView1 . BringToFront(); listView1 . Dock = DockStyle. Bottom; listView1 . Clear(); } private void button4_Click( object sender, EventArgs e) { ResetButton(); //reset button listView1 . Dock = DockStyle. None; button5 . Dock = DockStyle. Bottom; button6 . Dock = DockStyle. Bottom; listView1 . BringToFront(); listView1 . Dock = DockStyle. Bottom; listView1 . Clear(); } private void button5_Click( object sender, EventArgs e) { ResetButton(); //reset button listView1 . Dock = DockStyle. None; button6 . Dock = DockStyle. Bottom; listView1 . BringToFront(); listView1 . Dock = DockStyle. Bottom; listView1 . Clear(); } private void button6_Click( object sender, EventArgs e) { ResetButton(); //reset button } public void ResetButton() //初始化时的设置 { button1 . Dock = DockStyle. Bottom; button2 . Dock = DockStyle. Bottom; button3 . Dock = DockStyle. Bottom; button4 . Dock = DockStyle. Bottom; button5 . Dock = DockStyle. Bottom; button6 . Dock = DockStyle. Bottom; listView1 . Dock = DockStyle. Bottom; listView1 . Dock = DockStyle. None; button1 . Dock = DockStyle. None; button2 . Dock = DockStyle. None; button3 . Dock = DockStyle. None; button4 . Dock = DockStyle. None; button5 . Dock = DockStyle. None; button6 . Dock = DockStyle. None; }
实现的效果如下:
---------------------------------------------------------------------------------------2012年8月30日10:13:50
winform利用button跟listview实现类似QQ设置中的导航菜单。
主要利用了DockStyle。
具体的代码如下:
(注意)尤其要注意控件创建的顺序。
我的控件的创建顺序如下(在.Design.cs中):
this .groupBox1 = new System .Windows . Forms. GroupBox (); this .button1 = new System .Windows . Forms. Button (); this .button2 = new System .Windows . Forms. Button (); this .button3 = new System .Windows . Forms. Button (); this .button4 = new System .Windows . Forms. Button (); this .button5 = new System .Windows . Forms. Button (); this .button6 = new System .Windows . Forms. Button (); this .listView1 = new System .Windows . Forms. ListView ();
主要代码如下:
//用listview跟6个button来实现导航菜单的功|能
private void button1_Click( object sender, EventArgs e) { ResetButton(); //reset button listView1 . Dock = DockStyle. None; button2 . Dock = DockStyle. Bottom; button3 . Dock = DockStyle. Bottom; button4 . Dock = DockStyle. Bottom; button5 . Dock = DockStyle. Bottom; button6 . Dock = DockStyle. Bottom; listView1 . BringToFront(); listView1 . Dock = DockStyle. Bottom; listView1 . Clear(); } private void button2_Click( object sender, EventArgs e) { ResetButton(); //reset button listView1 . Dock = DockStyle. None; button3 . Dock = DockStyle. Bottom; button4 . Dock = DockStyle. Bottom; button5 . Dock = DockStyle. Bottom; button6 . Dock = DockStyle. Bottom; listView1 . BringToFront(); listView1 . Dock = DockStyle. Bottom; listView1 . Clear(); } private void button3_Click( object sender, EventArgs e) { ResetButton(); //reset button listView1 . Dock = DockStyle. None; button4 . Dock = DockStyle. Bottom; button5 . Dock = DockStyle. Bottom; button6 . Dock = DockStyle. Bottom; listView1 . BringToFront(); listView1 . Dock = DockStyle. Bottom; listView1 . Clear(); } private void button4_Click( object sender, EventArgs e) { ResetButton(); //reset button listView1 . Dock = DockStyle. None; button5 . Dock = DockStyle. Bottom; button6 . Dock = DockStyle. Bottom; listView1 . BringToFront(); listView1 . Dock = DockStyle. Bottom; listView1 . Clear(); } private void button5_Click( object sender, EventArgs e) { ResetButton(); //reset button listView1 . Dock = DockStyle. None; button6 . Dock = DockStyle. Bottom; listView1 . BringToFront(); listView1 . Dock = DockStyle. Bottom; listView1 . Clear(); } private void button6_Click( object sender, EventArgs e) { ResetButton(); //reset button } public void ResetButton() //初始化时的设置 { button1 . Dock = DockStyle. Bottom; button2 . Dock = DockStyle. Bottom; button3 . Dock = DockStyle. Bottom; button4 . Dock = DockStyle. Bottom; button5 . Dock = DockStyle. Bottom; button6 . Dock = DockStyle. Bottom; listView1 . Dock = DockStyle. Bottom; listView1 . Dock = DockStyle. None; button1 . Dock = DockStyle. None; button2 . Dock = DockStyle. None; button3 . Dock = DockStyle. None; button4 . Dock = DockStyle. None; button5 . Dock = DockStyle. None; button6 . Dock = DockStyle. None; }
实现的效果如下:
---------------------------------------------------------------------------------------2012年8月30日10:13:50