1:它的enter事件是什么?就是按了enter键后反应的事件,我实验了下enter,好象没反因.2:下面的代码错在什么地方?this.comboBox1.Text=this.listBox1.SelectedValue.ToString()执行不了,说未将对象引用到对象实例
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Down)&&this.Contains(this.listBox1))
{
this.listBox1.Focus();
if(keyData == (Keys.Up)||keyData == (Keys.Down))
{
this.comboBox1.Text=this.listBox1.SelectedValue.ToString();
}
}
return base.ProcessCmdKey (ref msg, keyData);
}
3:如何取得lisebox当前条目的值再赋给其他变量?我上面的作法不行,应该怎么做?
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Down)&&this.Contains(this.listBox1))
{
this.listBox1.Focus();
if(keyData == (Keys.Up)||keyData == (Keys.Down))
{
this.comboBox1.Text=this.listBox1.SelectedValue.ToString();
}
}
return base.ProcessCmdKey (ref msg, keyData);
}
3:如何取得lisebox当前条目的值再赋给其他变量?我上面的作法不行,应该怎么做?
2.3.获得listbox当前选定的值(当listbox允许多选时有可能有多项):
Dim i As Int16
For i = 0 To ListBox1.SelectedItems.Count - 1
Debug.Print(ListBox1.SelectedItems.Item(i))
Next
我改成:
this.comboBox1.Text=this.listBox1.SelectedItem.ToString();
还是有那个异常不知道SelectedItem与SelectedValue有什么区别...
是不是光标移动了SelectedItem就同时改变了??
this.listBox2.Text=this.listBox1.SelectedItem.ToString();//为什么总是运行时错误?
this.comboBox1.Text="1";//这个为什么行??
this.listBox2.Text=this.listBox1.SelectedItem.ToString();//为什么总是运行时错误?你的数据来源是什么,手动插入还是绑定获得?
this.comboBox1.Text="1";//这个为什么行??你最好判断一下“1”是否存在。to this.listBox2.Text=this.listBox1.SelectedItem.ToString();//为什么总是运行时错误?没有这样写的,如果是往listbox2中添加,应该
listBox2.Items.Add( this.listBox1.SelectedItem.ToString() );
{ if (keyData.KeyCode == (Keys.Enter))
{
this.comboBox1.Text=this.listBox1.SelectedItem.ToString();//ok
} if(keyData.KeyCode == (Keys.Down)||keyData.KeyCode == (Keys.Up))
{
this.comboBox1.Text=this.listBox1.SelectedItem.ToString();//wrong.未将对象引用到对象实例
} }请帮帮我!
object obj = listBox1.SelectedItem;
if (obj == null)
{
....没有选中值
}
else
{
obj.ToString();//当前选中行
}
如果你要取的不是当前选中行,而是当前控件中的所有行或者第一行,请用listBox1.Items,listBox1.Items[0]
楼上的兄弟,非常感谢您的耐心请你看看我的前面那个回复,对于这样的现象,我无能为力了...
______________________________请确定listboxkeydown是listBox1的事件。我测试了,没问题。(你把有问题的代码拷上来,包括事件关联)另:建议不要用keydown事件,用SelectedIndexChanged事件比较好。
{
if (keyData == (Keys.Down)&&this.Contains(this.listBox1))
{
this.listBox1.Focus();
if(keyData == (Keys.Up)||keyData == (Keys.Down))
{
this.comboBox1.Text=this.listBox1.SelectedValue.ToString();
}这样会有不可预知的错误.在listbox里再这样:if(keyData.KeyCode == (Keys.Down)||keyData.KeyCode == (Keys.Up))
{
this.comboBox1.Text=this.listBox1.SelectedItem.ToString();//wrong.未将对象引用到对象实例
}就会冲突了,不知道是不是这样