با سلام من مي خوام تو برنامم كه تعداد زيادي textbox دارم زماني كه در textbox هام مقدار وارد كردم اگه دوباره يكي از textbox هام focase شد تمام متن داخل اون انتخاب بشه (به رنگ آبي در بياد)و بدون پاك كردن داده جديد جايگزين اون بشه .با تشكر
با سلام من مي خوام تو برنامم كه تعداد زيادي textbox دارم زماني كه در textbox هام مقدار وارد كردم اگه دوباره يكي از textbox هام focase شد تمام متن داخل اون انتخاب بشه (به رنگ آبي در بياد)و بدون پاك كردن داده جديد جايگزين اون بشه .با تشكر
میتونی با استفاده از AddHandler توی RunTime این کار رو انجام بدی.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each ctrl As Control In Me.Controls
If TypeOf ctrl Is TextBox Then AddHandler ctrl.GotFocus, AddressOf SelectAllText
Next
End Sub
Private Sub SelectAllText(ByVal sender As TextBox, ByVal e As EventArgs)
sender.SelectAll()
End Sub
با سلام آقا mostafa با تشكر از توجهتون ولي اين كد روي آرگومان e از تابع selectalltext خطا ميده.argument not specified for parameter of selectAlltext
با تابع زیر میتونی با enter بین تکست باکس ها حرکت کنی و با کلید Up به عقب برگردی در هر دو حالت تمامی متنت به صورت انتخاب شده در میاد و بدون اینکه پاکش کنی میتونی تغییرش بدی...
Protected Overloads Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
If msg.Msg = 256 Then
Select Case keyData
Case Keys.Enter
Me.SelectNextControl(Me.ActiveControl, True, True, True, False)
If TypeOf Me.ActiveControl Is TextBox Then
DirectCast(Me.ActiveControl, TextBox).SelectAll()
End If
Return True
Case Keys.Up
Me.SelectNextControl(Me.ActiveControl, False, True, True, False)
If TypeOf Me.ActiveControl Is TextBox Then
DirectCast(Me.ActiveControl, TextBox).SelectAll()
End If
Return True
End Select
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
با سلام آقا مصطفي از خيلي ممنونم .كد شما رو من تونستم درشتش كنم ولي اگه چند تا groupbox توي فرمت باشه ديگه جواب نمي ده من حتي براي تك ك groupbx هام هم نوشتم ولي جواب نداد .mehrnosh از شما بخاطر كدتون تشكر مي كنم ولي ميشه براي ما تازه كارا يه خورده توضيح بديد كه چطوري كار مي كنه. با تشكر از همه
آخرین ویرایش به وسیله msh_gold : جمعه 15 شهریور 1387 در 13:57 عصر
ببخشيد من به يه مشكل ديگه برخوردم من مي خوام وقتي يهbutton فعال ميشه رويداد كليكش فراخواني بشه ولي اين ميره به كنترل بعدي من خيلي دست كاريش كردم ولي نتونستم درستش كنم.لطفا كمك كنيد. با تشكر
آقا مصطفي خيلي ممنون اگه يه لطفي كني و كد جناب mehrnoosh رو براي button اصلاح كنيد.ممنون ميشم.چون تو برنامه من بحث groupboxهاي تو در تو پيش مياد كه اونم باز يه مشكل ديگست.با تشكر
اگه میخوای از اون کد استفاده کنی به این شکل استفاده کن
Protected Overloads Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
If keyData = Keys.Enter And Me.ActiveControl IsNot Nothing And TypeOf Me.ActiveControl Is TextBox Then
DirectCast(Me.ActiveControl, TextBox).SelectAll()
SelectNextControl(Me.ActiveControl, True, True, True, True)
Return True
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function