|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Cumbersome SolutionThe problem and solution is describe within the MSDN article http://msdn2.microsoft.com/en-us/library/ms171728(d=ide).aspx I would like to create one subroutine for all my textboxes and not one for each textbox, given the sample subroutine below, how can I add the textbox name into this subroutine? Cumbersome Solution Private Sub SetText(ByVal [text] As String) ' InvokeRequired required compares the thread ID of the ' calling thread to the thread ID of the creating thread. ' If these threads are different, it returns true. If Me.tb_Netbios.InvokeRequired Then Dim d As New SetTextCallback(AddressOf SetText) Me.Invoke(d, New Object() {[text]}) Else Me.tb_Netbios.Text = [text] End If End Sub Garth wrote:
<snip> > I would like to create one subroutine for all my textboxes and not <snip>> one for each textbox, given the sample subroutine below, how can I > add the textbox name into this subroutine? > Private Sub SetText(ByVal [text] As String) <snip>> If Me.tb_Netbios.InvokeRequired Then One approach is to add the target TextBox as parameter:> Dim d As New SetTextCallback(AddressOf SetText) > Me.Invoke(d, New Object() {[text]}) > Else > Me.tb_Netbios.Text = [text] > End If > End Sub Private Delegate Sub SetTextCallback(T As TextBox, V As String) '... Private Sub SetText(ByVal Target As TextBox, _ ByVal NewValue As String) If Target.InvokeRequired Then Dim D As New SetTextCallback(AddressOf SetText) Target.Invoke(D, New Object() {Target, NewValue}) Else Target.Text = NewValue End If End Sub '... Sub BtnClick(...) SetText(Me.SomeTextBox, NewValue) '.... End Sub HTH. Regards, Branco. Thanks Branco as i'm sure you already know, I'm still very green with
VB.Net. Show quoteHide quote "Branco Medeiros" <branco.medei***@gmail.com> wrote in message news:1152675508.678031.271670@i42g2000cwa.googlegroups.com... > Garth wrote: > <snip> >> I would like to create one subroutine for all my textboxes and not >> one for each textbox, given the sample subroutine below, how can I >> add the textbox name into this subroutine? > <snip> >> Private Sub SetText(ByVal [text] As String) > <snip> >> If Me.tb_Netbios.InvokeRequired Then >> Dim d As New SetTextCallback(AddressOf SetText) >> Me.Invoke(d, New Object() {[text]}) >> Else >> Me.tb_Netbios.Text = [text] >> End If >> End Sub > > One approach is to add the target TextBox as parameter: > > Private Delegate Sub SetTextCallback(T As TextBox, V As String) > '... > Private Sub SetText(ByVal Target As TextBox, _ > ByVal NewValue As String) > If Target.InvokeRequired Then > Dim D As New SetTextCallback(AddressOf SetText) > Target.Invoke(D, New Object() {Target, NewValue}) > Else > Target.Text = NewValue > End If > End Sub > '... > Sub BtnClick(...) > SetText(Me.SomeTextBox, NewValue) > '.... > End Sub > > HTH. > > Regards, > > Branco. >
refresh performance in datagrid - big problem
Barcode Reader Form_Keydown being overridden circular left shift in VB Sending a command to a COM port... Application KeepAlive? Collection? How to get checkedlistbox to display horizontal MouseHover doesn't work? Help! have no idea what this is about! No symbols are loaded for any call stack frame ... |
|||||||||||||||||||||||