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

نام تاپیک: تعویض عملکرد کلیدهای Left و Right (حرکت Cursor یا همون مکان نما)

  1. #1
    مدیر بخش آواتار gilsoft
    تاریخ عضویت
    آبان 1386
    محل زندگی
    رشت
    پست
    753

    Question تعویض عملکرد کلیدهای Left و Right (حرکت Cursor یا همون مکان نما)

    سلام دوستان

    همه ی دوستان میدونند که بعداز RightToLeft کردن Formها و یا کنترل ها .. کلیدهای {LEFT / RIGHT} .. برعکس عمل میکنند .. یعنی با زدن کلید {LEFT} مکان نما به راست .. وبا زدن کلید {RIGHT} مکان نما به چپ حرکت میکنه

    حالا من میخوام تو کنترل های (نوشته شده ی خودم) این کلیدها بصورت استاندارد عمل کنند .. با SendKeys.Send که کار میکنم (نمونه کد زیر) کنترل میوفته تو یه Loop و سرآخر هم با Hang یا Error در نرم افزار روبرو میشم

    حالا نمیدونم که : آیا راهی هست که این مشکل برطرف بشه ؟

    'Protected Overrides Sub OnKeyDown   or   OnKeyUp
    Select e.KeyCode
    Case Keys.Left : SendKeys.Send("{Right}")
    Case Keys.Right : SendKeys.Send("{LEFT}")
    End Select
    قوانین سایت برنامه نویس [به هیچ عنوان از طریق پیام خصوصی به سوالات پاسخ داده نمی‌شود.]
    حمید محرابی

    چون وا نمیکنی گِره‌ای خود گِره مّشو / ابرو گشاده باش چو دستت گشاده نیست

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    root
    سن
    29
    پست
    1,098

    نقل قول: تعویض عملکرد کلیدهای Left و Right (حرکت Cursor یا همون مکان نما)

    منم با همین مشکلات موجه بودم . اما نتوسنتم کاری واسش کنم

  3. #3

    نقل قول: تعویض عملکرد کلیدهای Left و Right (حرکت Cursor یا همون مکان نما)

    از SendKeys به هیچ وجه استفاده نکنید، مگر اینکه هیچ چاره ای نداشته باشید. SendKeys کاری نداره که کدوم برنامه و کدوم کنترل از بافر اطلاعات کلید های فشرده شده رو می خونه،
    به همین دلیل اگه Focus در حین کار تغییر کنه، ممکنه کاری انجام بشه که کاربر رو به دردسر بندازه یعنی با جابجایی Focus و انتقال به یک پنجره دیگه ممکنه کار اشتباهی انجام بشه.


    Protected Overrides Function ProcessKeyMessage(ByRef m As System.Windows.Forms.Message) As Boolean
    If Me.RightToLeft = Windows.Forms.RightToLeft.Yes Then
    Select Case m.WParam
    Case Keys.Left
    m.WParam = Keys.Right
    Case Keys.Right
    m.WParam = Keys.Left
    End Select
    End If
    Return MyBase.ProcessKeyMessage(m)
    End Function

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    ایران
    سن
    40
    پست
    467

    نقل قول: تعویض عملکرد کلیدهای Left و Right (حرکت Cursor یا همون مکان نما)

    اینو تو سی شارپ امتحان کنید

    private bool flag;
    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {

    if (flag)
    {
    flag = false; return; }
    if (e.KeyCode == Keys.Left)
    {
    e.Handled = true;
    SendKeys.Send("{Right}");
    flag = true;
    }
    else if (e.KeyCode == Keys.Right)
    {
    e.Handled = true;
    SendKeys.Send("{Left}");
    flag = true;
    }
    }

    اون متغییر رو باید عمومی تعریف کنید
    البته به یاد داشته باشید که کار اصولی نمی تونه باشه

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

  1. left to Right
    نوشته شده توسط alex_kh58 در بخش VB.NET
    پاسخ: 5
    آخرین پست: دوشنبه 08 آذر 1389, 22:52 عصر
  2. INNER JOIN , LEFT JOIN , RIGHT JOIN
    نوشته شده توسط Helen_Farhani در بخش سایر پایگاه‌های داده
    پاسخ: 8
    آخرین پست: یک شنبه 16 تیر 1387, 19:30 عصر
  3. right to left و left to right در ASP.Net ، چگونه کد بنویسم؟
    نوشته شده توسط Gijuki در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: سه شنبه 14 اسفند 1386, 16:24 عصر
  4. player with Left and Right Control
    نوشته شده توسط seyed_farid در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: یک شنبه 24 مهر 1384, 20:42 عصر
  5. توابع Left و Right کارنمی کنن
    نوشته شده توسط vbapr2005 در بخش VB.NET
    پاسخ: 8
    آخرین پست: دوشنبه 21 شهریور 1384, 12:20 عصر

برچسب های این تاپیک

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

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