در این آموزش نجوه ذخیره سازی ریسورس های فایل Resources File توضیح داده می شه ....
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Dim ResName, Value As String With MultiLanguageDataTable For Each Resource As KeyValuePair(Of String , String ) In Resources ResWriter = New Resources.ResXResourceWriter(Resource.Value) For Each row As DataRow In .Rows ResName = row.Item(0).ToString Value = row.Item(Resource.Key).ToString ResWriter.AddResource(ResName, Value) Next ResWriter.Generate() ResWriter.Close() Next End With MsgBox( "Update Completed Successfuly." , MsgBoxStyle.Information) |
در این ویدئوی آموزشی به FlowLayoutPanel آیتم های سفارشی رنگ با رویداد سفارشی اضافه شده که برای استفاده از آیتم ها و بکارگیری رویدادشون توضیح داده شده....
در این ویدئو ریسورس های رشته ای از یک فایل ریسورس (Resources File) .ResX به DataTable اضافه می شه که در DataGrid نمایش داده بشن....
Dim OFD As New OpenFileDialog With {.Filter = "Resources File|*.resx"}
Dim FileName As String = ""
With OFD
.SupportMultiDottedExtensions = False
.Multiselect = False
ReBrowse:
If .ShowDialog(Me) = DialogResult.Cancel Then Exit Sub
FileName = .FileName
If IO.Path.GetFileNameWithoutExtension(FileName).Contains(".") = True Then
FileName = IO.Path.GetFileNameWithoutExtension(FileName)
FileName = IO.Path.GetFileNameWithoutExtension(FileName)
FileName = String.Format("{0}\{1}.resx", FileIO.FileSystem.GetParentPath(.FileName), FileName)
End If
Me.ToolStripTextBox1.Text = FileName
resReader = New Resources.ResXResourceReader(FileName)
Resources.Clear()
Resources.Add("(Default)", resReader)
Dim Name, Value As Object
resReader.GetEnumerator.Reset()
Dim dict As IDictionaryEnumerator = resReader.GetEnumerator
Do While dict.MoveNext = True
' resSet.GetEnumerator.MoveNext()
Name = dict.Key
Value = dict.Value
If TypeOf (Value) Is String Then
With MultiLanguageDataTable
.Rows.Add(Name, Value)
End With
End If
Loop
End With
در این ویدئوی آموزشی یک DataGrid داریم که قبل از هر چیز باید یک DataTable برای DataSource اون تعیین بشه و همزمان با اضافه کردن ستون های DataTable به ستونهای DataGridTableStyle هم اضافه می شه....
Dim MultiLanguageDataTable As New DataTable("MultiLanguageDataTable")
With MultiLanguageDataTable
MultiLanguageTableStyle.MappingName = .TableName
MultiLanguageTableStyle.PreferredColumnWidth = 250
.Columns.Clear()
With .Columns.Add("ResName")
.Caption = "Resource Name"
End With
DataColumn = New DataGridTextBoxColumn
With DataColumn
.HeaderText = "Resource Name"
.MappingName = "ResName"
Width_ = g.MeasureString(.HeaderText, Me.DataGrid1.HeaderFont).Width
.Width = If(Width_ < MultiLanguageTableStyle.PreferredColumnWidth, MultiLanguageTableStyle.PreferredColumnWidth, Width_)
End With
MultiLanguageTableStyle.GridColumnStyles.Clear()
Index = MultiLanguageTableStyle.GridColumnStyles.Add(DataColumn)
For Each Item As ListViewItem In Me.ListView1.Items
With .Columns.Add(Item.SubItems(3).Text)
.Caption = Item.SubItems(2).Text
End With
DataColumn = New DataGridTextBoxColumn
With DataColumn
.HeaderText = Item.SubItems(1).Text
.MappingName = Item.SubItems(3).Text
Width_ = g.MeasureString(.HeaderText, Me.DataGrid1.HeaderFont).Width
.Width = If(Width_ < MultiLanguageTableStyle.PreferredColumnWidth, MultiLanguageTableStyle.PreferredColumnWidth, Width_)
End With
Index = MultiLanguageTableStyle.GridColumnStyles.Add(DataColumn)
Next
End With
در این آموزش برای اضافه کردن یک زبان به برنامه مورد نظر ابتدا زبانها به یک آرایه اضافه و سپس DisplayName از زبانها به ComboBox و LCID به یک لیست از دیتا تایپی با کلاس Integer و نهایتها اطلاعات Culture به ListView اضافه می شه....
Dim Cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)
Dim LanguageList As New List(Of Integer)
Dim Index As Integer = -1
With Me.LanguaheComboBox
For Each Culture As CultureInfo In Cultures
If Culture.LCID = 127 Then Continue For
Index = .Items.Add(Culture.DisplayName)
LanguageList.Insert(Index, Culture.LCID)
Next
If .Items.Count > 0 Then
.SelectedIndex = 0
End If
End With
Dim Culture_ As CultureInfo = CultureInfo.GetCultureInfo(LanguageList(Me.LanguaheComboBox.SelectedIndex))
With Me.ListView1.Items
With .Add((.Count + 1).ToString, 0)
.SubItems.Add(Culture_.EnglishName)
.SubItems.Add(Culture_.DisplayName)
.SubItems.Add(Culture_.Name)
.SubItems.Add(Culture_.LCID)
End With
End With