c# winform 用listview做导航界面,控件上下移动后 顺序不对?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winform 用listview做导航界面,控件上下移动后 顺序不对?相关的知识,希望对你有一定的参考价值。

我用listview做得导航界面,程序运行开始,顺序是对的,点解后,在listview上方也是对的,比如再次点击button1,结果原来在上面的button,回到下面顺序就不对了,貌似是完全反过来了。什么原因?
代码是:
private void button2_Click(object sender, EventArgs e)

listView1.Dock = DockStyle.None;
button2.Dock = DockStyle.Top;
button1.SendToBack();
button1.Dock = DockStyle.Top;
button8.Dock = DockStyle.Bottom;
button7.Dock = DockStyle.Bottom;
button6.Dock = DockStyle.Bottom;
button5.Dock = DockStyle.Bottom;
button4.Dock = DockStyle.Bottom;
button3.Dock = DockStyle.Bottom;
listView1.BringToFront();
listView1.Dock = DockStyle.Bottom;
listView1.Clear();
listView1.Items.Add("患者治疗排班", "患者治疗排班", 3);


&nbs

你要给每个按钮都添加排序,如Button1按钮写代码如下:
private void button1_Click(object sender, EventArgs e)

listView1.Dock = DockStyle.None;
button1.Dock = DockStyle.Top;
button2.Dock = DockStyle.Bottom;
button3.Dock = DockStyle.Bottom;
button4.Dock = DockStyle.Bottom;
button5.Dock = DockStyle.Bottom;
button6.Dock = DockStyle.Bottom;
button7.Dock = DockStyle.Bottom;
button8.Dock .SendToBack();
button8.Dock = DockStyle.Bottom;

listView1.BringToFront();
listView1.Dock = DockStyle.Bottom;
listView1.Clear();
......

button2按钮:
private void button2_Click(object sender, EventArgs e)

listView1.Dock = DockStyle.None;
button2.Dock = DockStyle.Top;
button1.SendToBack();
button1.Dock = DockStyle.Top;
button2.Dock = DockStyle.Bottom;
button3.Dock = DockStyle.Bottom;
button4.Dock = DockStyle.Bottom;
button5.Dock = DockStyle.Bottom;
button6.Dock = DockStyle.Bottom;
button7.Dock = DockStyle.Bottom;
button8.Dock = DockStyle.Bottom;
listView1.BringToFront();
listView1.Dock = DockStyle.Bottom;
listView1.Clear();
listView1.Items.Add("患者治疗排班", "患者治疗排班", 3);


其他按钮也是这样类似添加追问

我是这样写得,但效果没出来啊,就像我的图那样,在上方是对的,跑到下方顺序就乱套了。哥们你的这个代码测试了没有?

追答

那到没有,只是以前做过和这个差不多的小程序,我按以前做的打出来的

追问

其实,我原来就是这样写得,不行啊。

追答

我记得我当初做的时候也遇到过你的问题,我后来发现的问题就是忘记打个按钮的排序,你检查下代码,应该和我的问题一样的

参考技术A 代码逻辑问题追问

可以解释的清楚些么?什么逻辑?如何修改?

追答

检查按钮排序的代码

追问

哥们 你这回答跟没回答是一样的,我把代码发你 你能帮忙我检查下么?

C#如何让listview可编辑 winform

listview的View属性是Details
如何让显示的数据可以直接编辑,就是双击数据,就可以编辑了
LabelEdit改成true后 好像只能修改第一列

thectrl.insertitem(0,
"张三");
第一个参数是索引即行数,写0就是插到第一行,第二个参数是内容
thectrl.setitemtext(0,
1,
"初三四班");
第一个参数同样是行索引,第二个参数是列索引,第三个不说了
首先使用thectrl.getitemcount();获得列表中的总行数。比如n=thectrl.getitemcount();
然后使用thectrl.insertitem(n,
"张三");新加一行,但新增的行只有第一列有数据,就是"张三",后面的列就可以用thectrl.setitemtext(n,
1,
"初二六班");的方法进行设置或修改了。
当然不用获得总行数,直接用thectrl.insertitem(0,
"张三");会把新行插到第一行的位置,类似于头插法,上面说的那个相当于尾插法。
参考技术A listview 是不可以编辑的。
DateGridView 是可以的。本回答被提问者采纳
参考技术B 好像不行的吧

以上是关于c# winform 用listview做导航界面,控件上下移动后 顺序不对?的主要内容,如果未能解决你的问题,请参考以下文章

C# winform怎么样把窗口设置成两边和下面无边框,求沟通。。。

C# Winform下,datagridview或者ListView能够自定义模板吗?

C# winform界面如何做出表格的样式

winform c# listview 如何 选中行!急!在线等!

winform c# listview 如何 选中行!急!在线等!

C# winform ListView+CheckBox的做法