2 ضمیمه
عدم ترتیب اثر کلید ها در فرم Windows Forms Application
سلام.
من یک پنجره در WinForms دارم که کلید هاش سفارشی و Net Framework. نیست و جز دو تا برچسب و یک Panel و همون 3 تا کلید سفارشی شیء دیگه ای نداره و کلیدها رو هم نمی شه به خصوصیات AcceptButton و CancelButton از پنجره معرفی کرد. مشکل این فرم اینجاست که نمی شه از کلیدهای KeyBoard برای اجرای دستورات کمک گرفت.
ضمیمه 155860
پیشنهادتون برای اجرای دستورات با استفاده از کلیدهای کیبورد (کلیدهای Enter و Escape) چیه؟!
ضمیمه 155861
Private Sub Dialog_KeyUp(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
Select Case e.KeyCode
Case Keys.Return
Call OK_Button_ButtonClicked(OK_Button)
e.Handled = True
Case Keys.Escape
Call Cancel_Button_ButtonClicked(Me.Cancel_Button)
e.Handled = True
End Select
End Sub
نقل قول: عدم ترتیب اثر کلید ها در فرم Windows Forms Application
سلام و روز خوش
الان این Dialog_KeyUp که اجرا
و کلیدهم درست تشخیص داده میشه؟
احتمالا اون OK_Button_ButtonClicked و Cancel_Button_ButtonClicked اجرا نمیشن.
اگر این کلیدها همونجور که حدس میزنم کنترل html و درون کنترل وب بروزر هستن،
احتمالا برای این که کلیک رو به کد دات نت بفرستین اونها رو friend withevents تعریف کردین.
فکر کنم این روند یکطرفه اس،
یعنی درسته که با کلیک روی دکمه html این روتین اجرا میشه،
ولی اجرای اون باعث کلیک دکمه html نمیشه.
شما اینجوری عمل کنین:
DIM OK_BUTTON AS HTMLBUTTON= WEBBROWSER.document.getelementbyid("ok_button_id")
OK_BUTTON.invokemember.click
====
پ.ن:
1- امیدوارم درست گرفته باشم مطلب رو.
2- شاید بهتر باشه کلید tab رو هم در نظر بگیرین که focus بین کلیدها بچرخه،
و enter همون کلیدی رو که فوکوس هست کلیک کنه.
نقل قول: عدم ترتیب اثر کلید ها در فرم Windows Forms Application
نقل قول:
نوشته شده توسط
mazoolagh
سلام و روز خوش
الان این Dialog_KeyUp که اجرا
و کلیدهم درست تشخیص داده میشه؟
احتمالا اون OK_Button_ButtonClicked و Cancel_Button_ButtonClicked اجرا نمیشن.
اگر این کلیدها همونجور که حدس میزنم کنترل html و درون کنترل وب بروزر هستن،
احتمالا برای این که کلیک رو به کد دات نت بفرستین اونها رو friend withevents تعریف کردین.
فکر کنم این روند یکطرفه اس،
یعنی درسته که با کلیک روی دکمه html این روتین اجرا میشه،
ولی اجرای اون باعث کلیک دکمه html نمیشه.
شما اینجوری عمل کنین:
DIM OK_BUTTON AS HTMLBUTTON= WEBBROWSER.document.getelementbyid("ok_button_id")
OK_BUTTON.invokemember.click
====
پ.ن:
1- امیدوارم درست گرفته باشم مطلب رو.
2- شاید بهتر باشه کلید tab رو هم در نظر بگیرین که focus بین کلیدها بچرخه،
و enter همون کلیدی رو که فوکوس هست کلیک کنه.
سلام.
مشکل از خود فرم و رویدادهاش هست:
Private Sub Dialog_KeyUp(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
Select Case e.KeyCode
Case Keys.Return
'Call OK_Button_ButtonClicked(OK_Button)
'e.Handled = True
MsgBox("Ok")
Case Keys.Escape
MsgBox("Cancel")
'Call Cancel_Button_ButtonClicked(Me.Cancel_Button)
'e.Handled = True
End Select
End Sub
در صورتی که شیئی داشته باشه که ورودی بگیره مثل TextBox رویدادها عمل می کنه! البته اونم باید همون شیء Focus باشه
1 ضمیمه
نقل قول: عدم ترتیب اثر کلید ها در فرم Windows Forms Application
با تغییر برچسب آدرس به یک TextBox موضوع حل شد ولی چندان جالب به نظر نمی آد
ضمیمه 155862
Private Sub CustomButton1_ButtonClicked(sender As MDF_Production_Unit.CustomButton) Handles CustomButton1.ButtonClicked
With New FolderBrowserDialog With {.Description = "پوشه محل ذخیره سازی اطلاعات را تعیین و کلید OK را کلیک کنید...."}
If Me.DirectoryPathBox.Text.Length > 0 Then .SelectedPath = Me.DirectoryPathBox.Text
If .ShowDialog(Me) = Windows.Forms.DialogResult.Cancel Then
Me.DirectoryPathBox.Focus()
Exit Sub
End If
Me.DirectoryPathBox.Text = .SelectedPath
End With
End Sub
Private Sub DirectoryPathBox_GotFocus(sender As Object, e As System.EventArgs) Handles DirectoryPathBox.GotFocus
Me.DirectoryPathBox.SelectionStart = Me.DirectoryPathBox.TextLength
End Sub
Private Sub DirectoryPathBox_TextChanged(sender As Object, e As System.EventArgs) Handles DirectoryPathBox.TextChanged
Me.DirectoryPathBox.Focus()
End Sub