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

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

  1. #1
    کاربر جدید آواتار R.nosratabadi
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیرجان
    سن
    36
    پست
    3

    تبدیل زبان کیبورد از انگلیسی به فارسی و بلعکس

    سلام به همه دوستان،
    میخواستم بدونم کد تبدیل زبان کیبورد از انگلیسی به فارسی چیه؟
    لطفا راهنماییم کنید.
    متشکرم

  2. #2

    نقل قول: تبدیل زبان کیبورد از انگلیسی به فارسی و بلعکس

    با سلام.

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


    publicclasswin32
    {
    [DllImport("user32.dll", SetLastError = true)]
    publicstaticexternint LoadKeyboardLayoutA(String pwszKLID, int Flags);
    }

    حال برای فارسی کردن صفحه کلید از کد زیر استفاده کنید:


    System.PlatformID platform = Environment.OSVersion.Platform;
    System.String windowstype = platform.ToString();
    if (windowstype == "Win32NT")
    win32.LoadKeyboardLayoutA("00000429", 1);
    if (windowstype == "Win32Windows" || windowstype == "Win32S")
    win32.LoadKeyboardLayoutA("00000401", 1);

    و برای انگلیسی کردن زبان صفحه کلید از کد زیر استفاده کنید:


    win32.LoadKeyboardLayoutA("00000409", 1);

    در ضمن برای فراخوانی فایل هایی dll در برنامه فراموش نکنید فضای نام System.Runtime.InteropServicesرا به برنامه بیافزایید.


    موفق باشید.
    آخرین ویرایش به وسیله وحید پیرمرادیان : سه شنبه 05 خرداد 1388 در 13:59 عصر

  3. #3
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: تبدیل زبان کیبورد از انگلیسی به فارسی و بلعکس

    کلا سعی کن تو .Net کمتر از API ها استفاده کنی چرا که باعث ایجاد حفره در برنامه میشه .


            private void ChangeInputLanguage(string cultureName)
    {
    InputLanguage lang = (from i in InputLanguage.InstalledInputLanguages.Cast<InputLa nguage>()
    where i.Culture.Name == cultureName
    select i).SingleOrDefault();
    if (lang != null) InputLanguage.CurrentInputLanguage = lang;
    }

    //Use

    ChangeInputLanguage("en-US");
    ChangeInputLanguage("fa-IR");

  4. #4
    کاربر جدید آواتار R.nosratabadi
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    سیرجان
    سن
    36
    پست
    3

    نقل قول: تبدیل زبان کیبورد از انگلیسی به فارسی و بلعکس

    هر دو روش رو امتحان کردم اما با خطاهای زیر روبرو شدم:
    اولی:
    Error 1: The type or namespace name 'DllImport' could not be found (are you missing a using directive or an assembly reference?)
    مشکل از چیه؟

    دومی:
    Error 1: ) expected : in "i" point
    Error 2: ; expected : in "in" point
    Error 3: Invalid expression term 'in' : in "in" point
    Error 4: ; expected : in "InputLanguage" point
    Error 5: ; expected : in "where" point
    Error 6: ; expected : in "i." point
    Error 7: Invalid expression term '.' : in "i." point
    Error 8: ; expected : in "Culture" point
    Error 9: ; expected : in "select" point
    Error 10: ; expected : in ")" point
    Error 11: Invalid expression term ')' : in ")" point
    مشکل این چیه؟
    واقعا به این کد احتیاج دارم. ممنون می شم کمکم کنید.

  5. #5

    نقل قول: تبدیل زبان کیبورد از انگلیسی به فارسی و بلعکس

    سلام دوست عزيز فكر كنم اگه سرچ ميكردي كلي كد توي سايت پيدا مي كردي
    اما در هر صورت من هميشه تو برنامه هام از اين كد استفاده مي كنم
    دو تا تابع هستش كه با فراخواني هركدوم كيبوردت همون زبان ميشه


    publicstaticvoid Englishkey()
    {
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("en-US"));
    }
    publicstaticvoid Farsikey()
    {
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("fa-IR"));
    }



    موفق باشيد

  6. #6

    نقل قول: تبدیل زبان کیبورد از انگلیسی به فارسی و بلعکس

    [quote=R.nosratabadi;729506]هر دو روش رو امتحان کردم اما با خطاهای زیر روبرو شدم:
    اولی:
    Error 1: The type or namespace name 'DllImport' could not be found (are you missing a using directive or an assembly reference?)
    مشکل از چیه؟

    دوست عزیز این خطا از آنجاست که شما فضای نام
    using
    System.Runtime.InteropServices را به برنامه خود اضافه نکرده اید. این فضای نام برای استفاده فایل های dll در برنامه است.

    موفق باشید.

  7. #7
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: تبدیل زبان کیبورد از انگلیسی به فارسی و بلعکس

                InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[1];


    بر اساس نياز index داخل گيومه را تغيير دهيد.

    موفق باشيد.

  8. #8

    نقل قول: تبدیل زبان کیبورد از انگلیسی به فارسی و بلعکس

    سلام دوست عزيز خيلي آسونه :


    using System.Globalization;
    CultureInfo farsi = new CultureInfo("fa-IR");
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(farsi);

    اين كدو تو loadform بزار هرجاي فرم تايپ كني فاري ميشه

  9. #9

    نقل قول: تبدیل زبان کیبورد از انگلیسی به فارسی و بلعکس

    تاپیک قدیمیه ولی گفتم این روش رو هم بگم شاید بدرد کسی بخوره:

    using System.Threading;
    using System.Globalization;


    public void farsi()        {
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fa-IR");
    Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new CultureInfo("fa-IR"));
    }
    public void English()
    {
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
    Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new CultureInfo("en-US"));
    }

    بعد می تونی مثلا در رویداد Enter یه تکست باکس هر کدوم رو خواستی صدا بزنی .
    آخرین ویرایش به وسیله ayat2006 : چهارشنبه 27 فروردین 1393 در 19:08 عصر

  10. #10
    کاربر دائمی آواتار momimomi
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اصفهان
    پست
    269

    نقل قول: تبدیل زبان کیبورد از انگلیسی به فارسی و بلعکس

    ممنون از جواب
    بهتر نیست به جای کلمه تایپیک از واژه صحیح آن که تاپیک هست استفاده کنیم دوست عزیز؟
    topic= مبحث, عنوان
    باعرض پوزش

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

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