برگزیده های پرشین تولز

برنامه نت پد

Davoodi_online

کاربر تازه وارد
تاریخ عضویت
26 نوامبر 2005
نوشته‌ها
41
لایک‌ها
1
سلام.
دوستان من برنامه نت پد رو آماده کردم .
اما یه جا گیر کردم .
میخوام تمام فونت های ویندوز رو درون یک کمبو باکس لود کنم . و وقتی که روشون کلیک میشه متن انتخاب شده به اون فونت تغییر پیدا کنه .
همینطور در مورد سایز میخوام وقتی روی یک سایز کلیک میشه سایز فونت انتخابی تغییر کنه .
ممنون میشم اگر زود جوابم بودید چون فقط تا جمعه وقت دارم:wacko:
 

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
راحتترین راه استفاده از دیالوگ Font هستش که به طور خودکار لیست فونت ها و... رو آماده میکنه , یدونه FontDialog توی فرم درست کن و :

کد:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If FontDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            TextBox1.Font = FontDialog1.Font
        End If
    End Sub

البته به طور دستی هم میشه این کار ها رو کرد.
 

Davoodi_online

کاربر تازه وارد
تاریخ عضویت
26 نوامبر 2005
نوشته‌ها
41
لایک‌ها
1
ببخشید این چه ربطی داشت به مشکل من ؟
من میخوام لیست فونت های ویندوز رو توی یک Combo Box لود کنم . و سایز ها رو هم مثل WordPad در یک Combo Box داشته باشم و البته کار هم بکنن.
همچنین میخوام بوسیله یک Richtextbox انتخاب های Bold و Itlic و UnderLine رو آماده کنم.
لطفا" راهنماییم کنید !
 

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
خوب عزیز دل برابر عنوان پستت نوت پد بود نه ورد پد!! توی نت پد هم اگه ببینی از یک فونت واحد استفاده میشه و نه مثل ورد پد از Combo box ...
,واسه گرفتن لیست فونت ها:
کد:
 Private Sub LoadFontsList()
        Dim FontFamilies() As System.Drawing.FontFamily = System.Drawing.FontFamily.Families
        Dim i As Integer
        cmbFonts.Items.Clear()
        For i = LBound(FontFamilies) To UBound(FontFamilies)
            cmbFonts.Items.Add(FontFamilies(i).Name)
        Next
    End Sub

سایز ها هم که عدد هستن,چیزه دیگه ای هم میخوای؟!
 

Davoodi_online

کاربر تازه وارد
تاریخ عضویت
26 نوامبر 2005
نوشته‌ها
41
لایک‌ها
1
سلام.
ببخشید . پروژه من یک ورد پد هست به اشتباه نوشتم نت پد.

ممنون . مشکل لود شدن فونت ها در کمبو باکس هم با این کدهایی که شما نوشتید حل شد.
اما هنوز مشکل کلی من سرجاش باقی مونده.

لطفا" نوشته هام رو کامل بخونید:
من میخوام لیست فونت های ویندوز رو توی یک Combo Box لود کنم . و سایز ها رو هم مثل WordPad در یک Combo Box داشته باشم ( که بصورت دستی وارد کردم اما نمیتونم اعمالشون کنم) و البته با کلیک برروی فونت ها یا سایز ها تکست انتخاب شده در ریچ تکست باکس تغییر کنه .
همچنین میخوام بوسیله یک Richtextbox انتخاب های Bold و Itlic و UnderLine رو فعال کنم . متاسفانه نمیدونم چطوری باید روی متن انتخاب شده اعمالشون کرد!
لطفا" راهنماییم کنید !
 

m3hrz4d

Registered User
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
620
لایک‌ها
1
محل سکونت
اصفهان
نوشتن کدی که کل کارهای لازم برای عوض کردن فونت و ... رو بکنه یکم طولانی میشه.من فقط برای اسم و سایز مینویسم شما خودت برای انوع bold و ... میتونی با استفاده از یک مثلا چک باکس درست کنی.در ضمن باید کدی رو بنویسی که هر متنی Select شد مقدار توی Combo باکس ها عوض بشه... :

کد:
  Dim bStart As Boolean = False
    Private Sub LoadCurrentFont()
        cmbFonts.Text = RichTextBox1.SelectionFont.Name
        cmbFontSizes.Text = RichTextBox1.SelectionFont.Size
    End Sub
    Private Sub LoadFontsList()
        Dim FontFamilies() As System.Drawing.FontFamily = System.Drawing.FontFamily.Families
        Dim i As Integer
        cmbFonts.Items.Clear()
        For i = LBound(FontFamilies) To UBound(FontFamilies)
            cmbFonts.Items.Add(FontFamilies(i).Name)
        Next
    End Sub
    Private Sub LoadFontSizes(ByVal iStart As UInt16, ByVal iEnd As UInt16)
        Dim i As Integer
        cmbFontSizes.Items.Clear()
        For i = iStart To iEnd
            cmbFontSizes.Items.Add(i)
        Next
    End Sub
    Private Sub ApplyFont()
        Dim FontName As String = cmbFonts.Text
        'Check errors...
        Dim FontSize As UInt16 = CInt(cmbFontSizes.Text)
        Dim NewFont As New System.Drawing.Font(FontName, FontSize, _
            FontStyle.Regular, RichTextBox1.SelectionFont.Unit, _
                RichTextBox1.SelectionFont.GdiCharSet)
        RichTextBox1.SelectionFont = NewFont
        NewFont.Dispose()
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbFonts.SelectedIndexChanged
        If bStart Then ApplyFont()
    End Sub

    Private Sub cmbFontSizes_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbFontSizes.SelectedIndexChanged
        If bStart Then ApplyFont()
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        LoadCurrentFont()
        LoadFontsList()
        LoadFontSizes(7, 30)
        bStart = True
    End Sub
 
بالا