اول بالای صفحه NameSpace زیر باید باشه.

using System.Windows.Forms;


تابع زیر زبان جاری رو برای شما عوض می کنه.

publicvoid changelanguge(String lname)
{
foreach (InputLanguage lang inInputLanguage.InstalledInputLanguages)
{
if (lang.Culture.TwoLetterISOLanguageName == lname)
{
Application.CurrentCulture = lang.Culture;
Application.CurrentInputLanguage = lang;
}
}
}


حالا هر وقت خواستی بری یه زبان دیگه باید دو حرف اول اون زبان رو وارد کنی. برای مثال برای تغییر زبان به فارسی می نویسی:

changelanguge("fa");

و یا تغییر به انگلیسی
changelanguge("en");


اگر میخواهی زمانی که فرم باز شد صفحه کلیدت فارسی بشه باید تابع رو توی ایونت FormLoad صدا بزنی و برای کنترلها باید توی ایونت Enter و Leave باشه.

اینم مثال vb اون :
https://barnamenevis.org/showth...oto=nextoldest

با تشکر از آقای saeed_rezaei