نرم افزار و برنامه نویسی ویندوز

نرم افزار و برنامه نویسی ویندوز

آموزش برنامه نویسی Visual Basic 2010-2019
نرم افزار و برنامه نویسی ویندوز

نرم افزار و برنامه نویسی ویندوز

آموزش برنامه نویسی Visual Basic 2010-2019

نحوه اضافه کردن ستون های DataGrid در زمان اجرا (RunTime)

در این ویدئوی آموزشی یک DataGrid داریم که قبل از هر چیز باید یک DataTable برای DataSource اون تعیین بشه و همزمان با اضافه کردن ستون های DataTable به ستونهای DataGridTableStyle هم اضافه می شه....

https://aparat.com/v/xCyag


 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

اضافه کردن همه زبانها به یک ToolStripCombobox برای اضافه کردن به ListView

در این آموزش برای اضافه کردن یک زبان به برنامه مورد نظر ابتدا زبانها به یک آرایه اضافه و سپس DisplayName از زبانها به ComboBox و LCID به یک لیست از دیتا تایپی با کلاس Integer و نهایتها اطلاعات Culture به ListView اضافه می شه....

https://aparat.com/v/WR03Y

    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

نمایش متن پیام با زبان تنظیم شده نرم افزار و ترجمه آن به زبان منتخب کاربر


https://aparat.com/v/laSB5


Private Sub ChangeLanguageToolStripMenuItem_DropDownItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ChangeLanguageToolStripMenuItem.DropDownItemClicked

        Dim Id As String = e.ClickedItem.Tag.ToString

        Dim Result As MsgBoxResult = MsgBox(String.Format("{1}{0}{0}{2}", vbCrLf, ChangeLabguageMessage, ChangeLabguageMessage(Id)), MsgBoxStyle.YesNo)

        If Result = MsgBoxResult.No Then Exit Sub

        My.Settings.LanguageId = e.ClickedItem.Tag.ToString

        My.Settings.Save()

        Application.Restart()

    End Sub

آموزش چگونگی ایجاد ریسورس برای برنامه چندزبانه (روش مطمئن)

در این آموزش برای یک نرم افزار چندزبانه به تعداد زبانها Resources File ایجاد شده و یک کلاسی استفاده می شه که قادر است طبق زبان انتخاب شده متن را از ریسورس فراخوانی و نمایش دهد....

https://aparat.com/v/G3h8S


Public Class CurrentResources


    Private Shared ManagerValue As New Resources.ResourceManager("<ProjectAssembly.ResourcesName>", GetType(<AnyClassesOfProject>).Assembly)

    Public Shared ReadOnly Property Manager() As Resources.ResourceManager

        Get

            Return ManagerValue

        End Get

    End Property

    Public Shared ReadOnly Property Strings(resName As String) As String

        Get

            Return Manager.GetString(resName)

        End Get

    End Property

    Public Shared ReadOnly Property ChangeLabguageMessage() As String

        Get

            Return Manager.GetString("ChangeLabguageMessage")

        End Get

    End Property

End Class

شناسایی راست به چپ بودن Layout یک زبان برای نرم افزار چند زبانه

در این آموزش شناسایی راست به چپ بودن Layout یک زبان برای نرم افزار چند زبانه و اعمال تغییرات بر روی اشیاء فرم ها توضیح داده شده....


https://aparat.com/v/JZBuO


        Public ReadOnly Property RightToLeft() As Boolean

            Get

                Return My.Application.UICulture.TextInfo.IsRightToLeft

            End Get

        End Property


            With OptionsAndSettiongs

                If RightToLeft = False Then

                    .ButtonsTableLayoutPanel.Dock = DockStyle.Right

                End If

                With .TabControl1

                    If RightToLeft = False Then

                        .RightToLeft = Windows.Forms.RightToLeft.No

                    End If

                    For Each Page As TabPage In .TabPages

                        If Page.Tag Is Nothing OrElse Page.Tag.ToString.Length = 0 Then Continue For

                        Page.Text = CurrentResources.Strings(Page.Tag.ToString)

                        If RightToLeft = False Then

                            With DirectCast(Page.Controls(0), ListView)

                                .RightToLeftLayout = False

                            End With

                        End If

                    Next

                End With

            End With