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

نام تاپیک: عمل نکردن رویداد KeyDown برای کلید Insert

  1. #1
    کاربر دائمی آواتار farashah_jalal
    تاریخ عضویت
    مهر 1387
    محل زندگی
    یزد - تفت
    سن
    36
    پست
    148

    عمل نکردن رویداد KeyDown برای کلید Insert


    privatevoid Window_KeyDown(object sender, KeyEventArgs e)
    {
    if (TbItemHouse.IsSelected==true)
    {
    if (e.Key==Key.Insert)
    {
    AddClick();
    }

    این کدبرای زمانی که در صفحه کلید insert فشرده شد باید رخ دهد .اما زمان فشردن این کلید
    کد مورد نظر اجرا نخواهد شد. برای بقیه کلید ها کار می کنه اما برای این کلید حالتی رخ نمی ده ممنون میشم اگه راهنمایی کنید.

  2. #2
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: دستور key down

    سلام
    من کدت رو تست کردم و انجام میده احتمالا مشکلت از جای دیگست
    اینم نومنه ای که من تست کردم
    فایل های ضمیمه فایل های ضمیمه

  3. #3
    کاربر دائمی آواتار farashah_jalal
    تاریخ عضویت
    مهر 1387
    محل زندگی
    یزد - تفت
    سن
    36
    پست
    148

    نقل قول: دستور key down


    privatevoid Window_KeyDown(object sender, KeyEventArgs e)
    {
    if (TbItemHouse.IsSelected==true)
    {
    if (e.Key==Key.N)
    {
    AddClick();
    }
    elseif (e.Key == Key.F2)
    {
    BtnSave();
    }
    elseif (e.Key == Key.Escape)
    {
    CancelClick();
    }
    }

    کدی که من نوشتم این هست .
    کد شما کار می کنه ولی تو برنامه من کار نمی کنه همه کلید ها کار می کنه هم escو f2
    نمی دونم چرا کار نمی کنه؟

  4. #4
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: دستور key down

    توی این کد شما بجای
    (e.Key==Key.Insert)
    نوشتید
    (e.Key==Key.N)

    با این هم کار نمیکنه؟؟ یعنی کلید N رو هم که میزیند کار نمیکنه؟؟
    اگه آره پس این متدد ()AddClick مشکل داره ، جاش یه مسیج باکس بگذار ببین عمل میکنه؟؟

  5. #5
    کاربر دائمی آواتار farashah_jalal
    تاریخ عضویت
    مهر 1387
    محل زندگی
    یزد - تفت
    سن
    36
    پست
    148

    نقل قول: دستور key down

    الان با کلید N کار می کنه . فکر کنم برای درج کلید insert بهتر باشه.
    وقتی insert باشه کار نمی کنه.

  6. #6
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: دستور key down

    بجاي KeyDown توي KeyUP بنويس

    privatevoid Window_KeyUp(object sender, KeyEventArgs e)
    {
    if (TbItemHouse.IsSelected == true)
    {
    if (e.Key == Key.Insert)
    {
    e.Handled =
    true;
    MessageBox.Show("Good");
    }
    }
    }


    اين كد e.Handled = true هم حتما بگذار

    اين كد زير رو هم توي KeyDown چك كن

    privatevoid Window_KeyDown(object sender, KeyEventArgs e)
    {
    if (TbItemHouse.IsSelected == true)
    {
    if (Convert.ToInt32(e.Key) == 31)
    {
    e.Handled =
    true;
    MessageBox.Show("good");
    }
    }
    }

  7. #7
    کاربر دائمی آواتار farashah_jalal
    تاریخ عضویت
    مهر 1387
    محل زندگی
    یزد - تفت
    سن
    36
    پست
    148

    نقل قول: دستور key down

    نقل قول نوشته شده توسط Mehdi550u مشاهده تاپیک
    بجاي KeyDown توي KeyUP بنويس

    privatevoid Window_KeyUp(object sender, KeyEventArgs e)
    {
    if (TbItemHouse.IsSelected == true)
    {
    if (e.Key == Key.Insert)
    {
    e.Handled =
    true;
    MessageBox.Show("Good");
    }
    }
    }


    اين كد e.Handled = true هم حتما بگذار

    اين كد زير رو هم توي KeyDown چك كن

    privatevoid Window_KeyDown(object sender, KeyEventArgs e)
    {
    if (TbItemHouse.IsSelected == true)
    {
    if (Convert.ToInt32(e.Key) == 31)
    {
    e.Handled =
    true;
    MessageBox.Show("good");
    }
    }
    }
    اگه کلید N رو بزارم زمانی که کاربر می خواد داخل فرم یک textboxرو پر کنه کلید Nاز صفحه کلید فشرده بشه اون کلید رخ خواهد داد.

  8. #8
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: دستور key down

    این کد ها رو برای دکمه Insert دادم چک کردی؟؟

  9. #9
    کاربر دائمی آواتار farashah_jalal
    تاریخ عضویت
    مهر 1387
    محل زندگی
    یزد - تفت
    سن
    36
    پست
    148

    نقل قول: دستور key down

    کد هام رو داخل رویداد key up گذاشتم به نتیجه نرسیدم . ممنون از جواب هاتون

  10. #10
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: دستور key down

    در کل تو WPF برای مدیریت کلید ها بهتره از command ها استفاده کنید. به این شکل که برای کار مورد نظر یک command تعریف می کنید و اعمال لازم رو در اون command انجام میدین. بعد میتونین برای اجرا شدن command تون، یک کلید هم تعریف کنید:
    مثال زیر رو ببینید:

     <KeyBinding Key="I" Modifiers="Control" Command="{Binding InsertCommand}"/>


    command ای به نام InsertCommand در برنامه تعریف شده و در داخل window، کلید های Ctrl+I برای اجرای اون command معرفی شده است.

    برای اطلاعات بیشتر در زمینه command ها مطلب زیر را مطالعه کنید:
    http://msdn.microsoft.com/en-us/library/ms752308.aspx

    موفق باشید

  11. #11

    نقل قول: عمل نکردن رویداد KeyDown برای کلید Insert

    همانطور که Amir Oveisi گفتند در WPF بهتره از Command استفاده ده کنی
    مثال:


    <Window x:Class="WpfApplication2.shortKey"
    xmlns="http://schemas.microsoft.com/winfx/2...l/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfApplication2"
    xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
    Title="shortKey" Height="292" Width="415">
    <Window.CommandBindings>
    <CommandBinding Command="{x:Static local:shortKey.ctrlRCommand}" Executed="OnCommandExec"/>
    <CommandBinding Command="{x:Static local:shortKey.f2Command}" Executed="OnCommadExecF2"/>
    </Window.CommandBindings>
    <Grid>
    </Grid>
    </Window>

    Code Behind
    public static RoutedCommand ctrlRCommand = new RoutedCommand();
    public static RoutedCommand f2Command = new RoutedCommand();
    public shortKey()
    {
    InitializeComponent();
    ctrlRCommand.InputGestures.Add(new KeyGesture(Key.R, ModifierKeys.Control));
    f2Command.InputGestures.Add(new KeyGesture(Key.F2));
    }
    private void OnCommandExec(object sender, ExecutedRoutedEventArgs e)
    {
    MessageBox.Show("Ctrk+R Press");
    }
    private void OnCommadExecF2(object sender, ExecutedRoutedEventArgs e)
    {
    MessageBox.Show("F2 Press");
    }

  12. #12
    کاربر دائمی آواتار farashah_jalal
    تاریخ عضویت
    مهر 1387
    محل زندگی
    یزد - تفت
    سن
    36
    پست
    148

    نقل قول: عمل نکردن رویداد KeyDown برای کلید Insert

    سلام
    اگه امکان هست بیشتر در مورد command ها توضیح بدید . مثلا هر کد رو به صورت مجزا و با توضیح مربوط به خودش

  13. #13

    نقل قول: عمل نکردن رویداد KeyDown برای کلید Insert

    نقل قول نوشته شده توسط farashah_jalal مشاهده تاپیک
    سلام
    اگه امکان هست بیشتر در مورد command ها توضیح بدید . مثلا هر کد رو به صورت مجزا و با توضیح مربوط به خودش
    شما با command ها میتونید تاثیر تعویض مقادیر روی فرم رو در کد ببینید یا تاثیر تغییرات کد رو بلافاصله روی کنترل های متصل به command ببینید

  14. #14

    نقل قول: عمل نکردن رویداد KeyDown برای کلید Insert


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

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