نمایش نتایج 1 تا 4 از 4

نام تاپیک: عدم ترتیب اثر کلید ها در فرم Windows Forms Application

  1. #1
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    2,022

    عدم ترتیب اثر کلید ها در فرم Windows Forms Application

    سلام.
    من یک پنجره در WinForms دارم که کلید هاش سفارشی و Net Framework. نیست و جز دو تا برچسب و یک Panel و همون 3 تا کلید سفارشی شیء دیگه ای نداره و کلیدها رو هم نمی شه به خصوصیات AcceptButton و CancelButton از پنجره معرفی کرد. مشکل این فرم اینجاست که نمی شه از کلیدهای KeyBoard برای اجرای دستورات کمک گرفت.


    SharedScreenshot.jpg

    پیشنهادتون برای اجرای دستورات با استفاده از کلیدهای کیبورد (کلیدهای Enter و Escape) چیه؟!

    SharedScreenshot02.jpg

    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
    آخرین ویرایش به وسیله ROSTAM2 : چهارشنبه 20 تیر 1403 در 22:51 عصر

  2. #2
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,684

    نقل قول: عدم ترتیب اثر کلید ها در فرم 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 همون کلیدی رو که فوکوس هست کلیک کنه.

  3. #3
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    2,022

    نقل قول: عدم ترتیب اثر کلید ها در فرم 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 باشه

  4. #4
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    2,022

    نقل قول: عدم ترتیب اثر کلید ها در فرم Windows Forms Application

    با تغییر برچسب آدرس به یک TextBox موضوع حل شد ولی چندان جالب به نظر نمی آد

    SharedScreenshot03.jpg


    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

تاپیک های مشابه

  1. مبتدی: مشکل با پروتکل TCP/IP در C#‎ Windows Forms Application
    نوشته شده توسط haghshenasmahdi در بخش C#‎‎
    پاسخ: 6
    آخرین پست: سه شنبه 30 مهر 1398, 14:58 عصر
  2. پاسخ: 2
    آخرین پست: جمعه 07 فروردین 1394, 19:15 عصر
  3. سوال: استفاده از Windows Forms Application در WPF Application!
    نوشته شده توسط Marzieh_A در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 18 دی 1388, 18:19 عصر
  4. استفاده از WPF در Windows Forms Application
    نوشته شده توسط fazel-d در بخش WPF
    پاسخ: 4
    آخرین پست: جمعه 23 مرداد 1388, 17:36 عصر
  5. استفاده از تابع GetDC() در Windows Forms Application
    نوشته شده توسط محمد عرب در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: یک شنبه 02 بهمن 1384, 00:47 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •