C# 等效于VB.NET中的SelectedIndexChanged
我正在尝试将一些代码从C#转换为VB.NET,以便在我的项目中使用它。然而,有一点我不能转换是当它涉及到我的组合框控件。在C#中,我可以使用C# 等效于VB.NET中的SelectedIndexChanged,c#,vb.net,visual-studio-2010,C#,Vb.net,Visual Studio 2010,我正在尝试将一些代码从C#转换为VB.NET,以便在我的项目中使用它。然而,有一点我不能转换是当它涉及到我的组合框控件。在C#中,我可以使用 combobox.selectedindexchanged 然而,当我尝试在VB.NET中使用它时,它会说这是一个事件,我不能在Sub中使用它,但是当我的combobox的值发生变化时,我需要将它用于IF语句,是否有一个VB.NET等价物或任何其他我可以用来解决问题的东西?C: private void ComboBox1_SelectedIndexCh
combobox.selectedindexchanged
然而,当我尝试在VB.NET中使用它时,它会说这是一个事件,我不能在Sub中使用它,但是当我的combobox的值发生变化时,我需要将它用于IF语句,是否有一个VB.NET等价物或任何其他我可以用来解决问题的东西?C:
private void ComboBox1_SelectedIndexChanged(object sender,
System.EventArgs e)
{
// Code here
}
*VB:*
C#的visual basic等价物:
object.event+=处理程序
是
(类似地,-=
变为RemoveHandler
)
的文档说明了如何在VB中组合AddHandler
和lambdas,例如:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
AddHandler Button1.Click,
Async Sub(sender1, e1)
' ExampleMethodAsync returns a Task.
Await ExampleMethodAsync()
TextBox1.Text = vbCrLf & "Control returned to Button1_ Click."
End Sub
End Sub
如果您正在动态创建
组合框
,并且希望在所选值发生更改时进行处理(根据您的注释),那么这就是方法:
Dim cb As New ComboBox()
Addhandler cb.SelectedValueChanged, AddressOf cbe_SelectedValueChanged
Addhandler cb.SelectedIndexChanged , AddressOf cbe_SelectedIndexChanged
....
Private Sub cbe_SelectedIndexChanged(sender As Object, e As System.EventArgs)
End Sub
Private Sub cbe_SelectedValueChanged(sender As Object, e As EventArgs)
End Sub
有关可用事件的更多信息:
SelectedIndexChanged是一个事件,而不是一个方法。当用户单击另一个项目时,会触发该命令。这不是一个VB的东西,它是一个Windows的东西。要手动设置selecteditem,请根据列表框和组合中的内容使用selecteditem或SelectedIndex或SelectedValue。对您尝试执行的操作的描述非常不清楚。你能提供一个更完整的例子吗?我正在我的代码中创建一个组合框,所以我无法通过设计视图访问它,所以如果我想在组合框的值改变时执行一段代码,我会使用什么代码?
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
AddHandler Button1.Click,
Async Sub(sender1, e1)
' ExampleMethodAsync returns a Task.
Await ExampleMethodAsync()
TextBox1.Text = vbCrLf & "Control returned to Button1_ Click."
End Sub
End Sub
Dim cb As New ComboBox()
Addhandler cb.SelectedValueChanged, AddressOf cbe_SelectedValueChanged
Addhandler cb.SelectedIndexChanged , AddressOf cbe_SelectedIndexChanged
....
Private Sub cbe_SelectedIndexChanged(sender As Object, e As System.EventArgs)
End Sub
Private Sub cbe_SelectedValueChanged(sender As Object, e As EventArgs)
End Sub