C# winform编程中,如何才能在在鼠标移过checkedListBox控件里的item的时候 得到item的值?并且这时弹出一个tooltip将值显示到tootip上面呢?
解决方案 »
- 怎么处理。。
- 关于c#调用DLL的方法,接口,类
- 加密狗的作用及使用
- 一道面试题,把下列文本显示在Grid中!
- 如何实现交互式的图像处理(学习ing)?
- 一个很简单的问题?
- 关于DataGrid中显示定位问题,请各位大侠帮忙看看。(50分)
- 在C#中怎样根据控件名如(TextBox1)转为TextBox类型后使用,而不是仅判断有没有这个控件。
- 请教多线程问题
- [初学] Html的控件和web form控件的之间的关系.大家都有分儿.
- 关于MDI子窗口在MDI主窗口中显示的问题,如何实现让子窗口在主窗口中的特定位置显示并且规定大小呢?
- 搜遍google均未解决的调用webService问题,答者有分,不够再加
可换一个思路,把value和text的值组合起来显示在界面上:
select value,(value+text)as text from table1
public partial class XListBox : ListBox
{
int rowHeight; //行高
public XListBox()
{
InitializeComponent(); rowHeight = this.Font.Height;
} protected override void OnPaint(PaintEventArgs pe)
{
// TODO: 在此处添加自定义绘制代码 // 调用基类 OnPaint
base.OnPaint(pe);
} private void XListBox_MouseMove(object sender, MouseEventArgs e)
{
int rowIndex = e.Y / rowHeight;
if (rowIndex < this.Items.Count)
{
this.SelectedIndex = (e.Y / rowHeight);
}
}
}在调用这个控件的SelectedIndexChanged事件里面你可以获得选中item的值,然后弹出tooltip等
private void checkedListBox1_MouseMove(object sender, MouseEventArgs e)
{
int index = this.checkedListBox1.IndexFromPoint(e.X, e.Y);
if (index != -1)
{
string text = this.checkedListBox1.Items[index].ToString(); this.toolTip1.SetToolTip(this.checkedListBox1, text);
}
}