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

نام تاپیک: درست کردن کلید ترکیبی برای عملی در همه فرم ها

  1. #1

    درست کردن کلید ترکیبی برای عملی در همه فرم ها

    میخوام یه کلید ترکیبی درست کنم مثل alt + ctrl در ویندوز که اگه روی هر فرمی و روی هر آیجکتی که فوکوس روی اونه زدم زبان عوض بشه یعنی تبدیل به فارسی یا انگلیسی شود - کد تغییر زبان را دارم فقط مشکل درست کردن این چنین کلیدی می باشد.

  2. #2
    اگه اشتباه نکنم منظورتون اینه که چه جوری متوجه بشید که Alt+Control کلیک شده.
    برای حل این مشکل در رویداد KeyDown کنترل مربوطه (یا فرم مورد نظر) عبارت زیر رو بنویسید.

    (if (e.Alt && e.Control
    {
    Clicked //
    {

  3. #3
    ممنون از جوابتون ولی اشتباه فهمیدید
    می خوام کدی بنویسم که توی هر فرمی و وقتی روی هر ابجکتی که هستیم وقت یکلید زده شد عملی انجام بشه اون کلیدهای alt + ctrl هم نمونه بودند - کلیدی مثل shrtcut های مربوط به منوها که هر جا باشیم می زنیم اون عمل مربوط به اون منوی خاص انجام میشه

  4. #4
    کاربر دائمی آواتار Pioneers
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    217
    از این dll استفاده کنید. فقط اگه ممکنه کد تغییر زبان رو هم بگذارید استفاده کنیم.
    فایل های ضمیمه فایل های ضمیمه

  5. #5
    foreach (InputLanguage ln in InputLanguage.InstalledInputLanguages)
    if(ln.Culture.Name=="fa-IR")
    {
    InputLanguage.CurrentInputLanguage=ln;
    f2.StrLang="farsi";
    }
    else
    {
    System.Globalization.CultureInfo english = new System.Globalization.CultureInfo("en-US");
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(english);
    f2.StrLang="english";
    }

  6. #6
    دوست عزیز جناب Pioneers
    این dll توی 2003 نه به رفرنس ها اضافه میشه نه به toolbox?
    راه حلش چیه؟

  7. #7
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    سلام
    اگر اشتباه نکرده باشم منظور شما باید HotKey باشه.
    امیدوارم نمونه زیر بدرد بخوره
    فایل های ضمیمه فایل های ضمیمه

  8. #8
    ممنون از جنابMH2538
    کد شما را بررسی کردم یه چیزایی فهمیدم ولی میشه توضیح کاملشا مطرح کنید؟ ممنون میشم

  9. #9
    یه چیز دیگه اونم اینه که hotkey همه جا کار میده و موقعی که برنامه تو حالت اجرا است ولی مثلا کاربر الان تو محیط paint باشه و اون کلید که به عنوام hotkey تعریف شده را بزنه برنامه ای فعال نبوده انجام میشه - میشه کدی نوشت که فقط کد داخل برنامه کار بده خیلی بهتره

  10. #10
    کاربر دائمی آواتار dot_net_lover2
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    شیراز
    پست
    324
    یک menuStrip به فرمت اضاف کن و یک منو واسش تعریف کن و واسه اون ShortcutKey را تعریف کن و بعد menuStrip.Visible را برابر false قرار بده.(به همین سادگی)
    اگر هم در فرمت منو داشتی که کار ساده تر ، یک Item واسه تغییر زبان تعریف میکنی و این ShortcutKey را واسش Set میکنی.

  11. #11
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    دوست عزیز چیز پیچیده ای نیست
    یک usercontrol وجود داره به اسم SystemHotkey.cs
    وقتی برنامه رو کامپایل کنی می تونی اون رو بالای نوار ابزارت ببینی و به پروژه است addکنی
    بعد از اضافه کردن به پروژه می تونی property های اون رو بیاری و از گزینه Shortcut ، کلید هایی رو که می خوای تنظیم کنی

  12. #12
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    خاصیت KeyPreview از فرم رو برابر True و در رخداد KeyDown از فرم، کد لازم رو بنویس.

  13. #13
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    دوستان عزیز روش هایی که شما فرمودید یا پشتیبانی کامل از ضرب کلید ها نمی دهند یا وقتی کار می کنند برنامه فعال باشد.
    روشی من که نمونه اون رو خدمتتون فرستادم مزیت عمده ای که دارد این است که حتی وقتی برنامه شما مینیمایز شده و در حال کار با یک برنامه دیگر هستید هم به کلید هایی که شما بعنوان hotkey تعریف کرید جواب می دهد.
    مثل hotkey های jetaudio که به شما این امکان را می دهد که هر زمان و از هر برنامه ای بتوانبد آهنگ رو مدیریت کتید و عقب و جلو ببرید.

  14. #14
    محروم شده
    تاریخ عضویت
    اردیبهشت 1386
    پست
    193
    نقل قول نوشته شده توسط MH2538 مشاهده تاپیک
    دوستان عزیز روش هایی که شما فرمودید یا پشتیبانی کامل از ضرب کلید ها نمی دهند یا وقتی کار می کنند برنامه فعال باشد.
    روش من که نمونه اون رو خدمتتون فرستادم مزیت عمده ای که دارد این است که حتی وقتی برنامه شما مینیمایز شده و در حال کار با یک برنامه دیگر هستید هم به کلید هایی که شما بعنوان hotkey تعریف کرید جواب می دهد.
    مثل hotkey های jetaudio که به شما این امکان را می دهد که هر زمان و از هر برنامه ای بتوانبد آهنگ رو مدیریت کتید و عقب و جلو ببرید.
    مطمئنید این روش و کد مال شماست ؟
    آخه خیلی تصادفی تو سایت codeproject کدی پیدا کردم که با کد شما مو نمیزنه و دقیقا موقع design هم یه error میده (هر دوش)

    فقط نمیدونم چرا اسم نویسندش هم نام اسم شما نیست
    نویسندش ایشونه : Alexander Werner

    **** ویرایش شد - یه مقدار توضیحات اضافه بودن - omid_Ahmadi ****

    به هرحال همین که زحمت کشیدید خودش خیلی ارزش داره
    موفق باشید
    مهدی کیانی
    راستی یادم رفت بگم اینم اون لینکیه که گفتم
    http://www.codeproject.com/cs/miscctrl/systemhotkey.asp
    اینم لینک پروفایل نویسندش
    http://www.codeproject.com/script/pr...=arts&id=43098

    راستی دوستانی که دنبال hotkey میگشتند این لینک هم هست
    http://www.codeproject.com/cs/miscct...plehotkeys.asp

  15. #15
    دوست عزیز، فکر کنم ایشون منظورشون "روشی که من نمونه اون رو خدمتتون فرستادم ..." بوده که به خاطر اشتباه تایپی به صورت "روشی من که نمونه اون رو خدمتتون فرستادم ..." نوشته شده.

    موفق باشید.

  16. #16
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    سلام دوستان
    من این برنامه رو خودم ننوشتم.
    من خیلی وقت پیشتر ،این برنامه رو از یکی از همکارهایم گرفتم
    جایی هم نگفتم که خودم نوشتم اگر از نوشته های من چنین برداشتی میشه من از همه شما عزیزان معذرت خواهی می کنم.
    از آقای احمدی هم به خاطر دید مثبتشون تشکر می کنم.

  17. #17
    اگر خطا داره می تونید از کلاس من استفاده کنید.قبلاً در تاپیکی در بخش VB.NET در مورد میانبر ها بحث شده و من یک DLL نوشتم و (به همراه سورس) آپلود کردم.می تونید از اون استفاده کنید.

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

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