چگونه می توانم قبل از ورود به طور خودکار زبان برنامه را تغییر دهم و قبل از ورود به TextBox در Vb.net در ویندوز Xp زبان را فارسی کنم . 8)
چگونه می توانم قبل از ورود به طور خودکار زبان برنامه را تغییر دهم و قبل از ورود به TextBox در Vb.net در ویندوز Xp زبان را فارسی کنم . 8)
سلام:
اگه ویندوزت زبان فارسی رو پشتیبانی می کنه که هیچ , خیلی راحت رو آیکون Language bar رو Task bar ویندوزت کلیک کن و زبان فارسی رو انتخاب کن :P . اگرم پشتیبانی نمیکنه برو رو همون آیکون کلیک راست کن و بعد از منوی باز شده گزینه Settings رو انتخاب کن. بعد از اون تو پنجره باز شده رو دکمه Add کلیک کن.حالا از پنجره حاضر میتونی از منوی باز شونده input language زبان دلخواهت رو انتخاب کنی . البته باید بگم که باید CD ویندوز XP رو داشته باشی.
آخرشم, OK , OK بزنو بیا بیرون.
همین و بس. :P
اگه منظورت اینه که Keyboard رو از طریق برنامه نویسی تغییر بدی باید از همون API معروف LoadKeyboardLayout استفاده کنی. استفاده اش هم خیلی با VB خودمون! فرقی نداره.
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough( 1;> Private Sub InitializeComponent()
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(376, 266)
Me.Name = "Form1"
Me.Text = "Form1"
End Sub
#End Region
Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Integer) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
LoadKeyboardLayout("00000429", 1)
End Sub
End Class
:lol: با سلام
نمی دونم تو کجای این دریای اینترنت غرق شده بودم که کد زیر رو دیدم و سریع اونو توی سیستم خودم ذخیره کردم. ببخشید اگه ذکر منبع نکردم. :oops:
Dim farsi As New Globalization.CultureInfo("fa-IR")
Dim x2 As InputLanguage
InputLanguage.CurrentInputLanguage = x2.FromCulture(farsi)
با احترام - خدانگهدار.
در VB 6 ابتدا این تابع را تعریف کنید :
Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
در ویندوز اکس پی و 2000 که فارسی نصب شده باشد :
Dim xx As Long
xx = LoadKeyboardLayout("00000429", 1)
در ویندوز پارسا 99 و امثال آن :
Dim xx As Long
xx = LoadKeyboardLayout("00000401", 1)
در VB.NET ابتدا این تابع را تعریف کنید :
Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Integer) As Integer
در ویندوز اکس پی و 2000 :
Dim a as Integer
a = LoadKeyboardLayout("00000429", 1)
منبع : http://www.hamedbanaei.com/articles/loadkeyboard.asp
8) :wink:
سلام
من می خواهم در #c از این کد استفاده کنم اما در کد زیر fromculture را نمی شناسد
Dim farsi As New Globalization.CultureInfo("fa-IR")
Dim x2 As InputLanguage
InputLanguage.CurrentInputLanguage = x2.FromCulture(farsi)
می شه یه نفر درمورد کد #c ش توضیح بده
Private Sub set_farsi_language()
Dim code_farsi_instaled As Boolean = False
For Each lang1 As InputLanguage In InputLanguage.InstalledInputLanguages
If lang1.LayoutName = "Farsi" Then
code_farsi_instaled = True
Exit For
End If
Next
If code_farsi_instaled = True Then
Dim farsi As New Globalization.CultureInfo("fa-IR")
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(farsi)
End If
End Sub
البته فکر کنم نیاز باشه اینو اول برنامه اضافه کنی :
Imports System.ComponentModel
در form load event کد زیر را قرار دهید
Dim farsi As New Globalization.CultureInfo("fa-IR")
Dim l As InputLanguage
InputLanguage.CurrentInputLanguage = l.FromCulture(farsi)