C# winform中关于两个ListBox清除selectIndex的问题。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform中关于两个ListBox清除selectIndex的问题。相关的知识,希望对你有一定的参考价值。
我想在listBox1中选中了一个选项就清除对listBox2中的选定,在listBox2中选中了一个选项就清除对listBox1中的选定,想用系统提供的selectIndexChanged方法。
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
listBox2.SelectedIndex = -1;
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
listBox1.SelectedIndex = -1;
这样的话,在listBox1中选中一个选项。listBox2中的SelectIndex就会变成-1,然后程序发现listBox2中的SelectIndex发生了改变就会进入listBox2_SelectedIndexChanged把listBox1中的SelectIndex也变成-1。。。。。求帮助,不知道怎么办了。= =
找到了,正确的解决方法是这样的
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
listBox2.SelectedIndexChanged +=listBox2_SelectedIndexChanged;
listBox2.SelectedIndex = -1;
listBox2.SelectedIndexChanged +=listBox2_SelectedIndexChanged;
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
listBox1.SelectedIndexChanged +=listBox1_SelectedIndexChanged;
listBox1.SelectedIndex = -1;
listBox1.SelectedIndexChanged +=listBox1_SelectedIndexChanged;
rightlistbox.Items.AddRange(leftlistbox.Items);
leftlistbox.Items.Clear();追问
我只是要使选中项不再被选中,不是要删除选中项里面的值啊
C# Winforms:没有 AutoScroll 的滚动条
【中文标题】C# Winforms:没有 AutoScroll 的滚动条【英文标题】:C# Winforms: Scrollbars without AutoScroll 【发布时间】:2015-12-01 02:17:27 【问题描述】:我有一个 TabPage,里面有东西。我的一些用户的屏幕很小,其中一些东西不适合。当我在 TabPage 上设置 AutoScroll true 时,它会按预期添加滚动条。不过……
在这个 TabPage 中有一个 ListBox。 ListBox 的位置使得单击它以选择一个 ListItem会导致 TabPage 将整个 ListBox 滚动到视图中,这反过来又会导致单击选择错误的 ListItem。
如果我禁用 AutoScroll,ListBox 可以正常工作,但用户无法滚动 TabPage。
我曾尝试添加面板和 TableLayoutPanel,并弄乱了具有 AutoScroll 和不具有 AutoScroll 的各种组合。
我尝试了一个 DLLImport hack,它强制将一个无样式的滚动条放到面板上,但该滚动条没有做任何事情,而且它看起来不像应用程序中的其他滚动条。
编辑:请注意,有些用户的屏幕更大。在 那些 屏幕上,有足够的空间来显示整个 TabPage 而无需滚动,并且可以正常工作。
如何在没有 auto 滚动行为的情况下获得 scrollbars?
【问题讨论】:
可以依靠VScrollBar & HScrollBar手动实现滚动条。 【参考方案1】:尝试像这样创建一个新的面板控件:
public class PanelEx : Panel
protected override Point ScrollToControl(Control activeControl)
return this.DisplayRectangle.Location;
将此面板放在您的 TabPage 中,并将 Dock 属性设置为 Fill。将所有控件放入该面板而不是 TabPage。
【讨论】:
以上是关于C# winform中关于两个ListBox清除selectIndex的问题。的主要内容,如果未能解决你的问题,请参考以下文章
c# winform 程序如何同时读取两个com端口的数据,再一个界面。
c# winform listbox 如何 获取 当前 选中的值 急!!!