Morjensta taas!
Olen kohta kolunnu puoli internettiä läpi etsiäkseni mitenkä ohjelmoida comboboxi josta voi valita kaikki mahdolliset fontit ja samalainen comboboxi josta voisi valita koon... Jonkun ohjeen löysin msdn:stä mutta se oli epäselvä :/
tässä esimerkissä:
Lisää Form1:seen command button (Button1) sekä label (label1), sekä kaksi comboboxia (combobox1 ja combobox 2)
Imports System
Imports System.Windows.Forms
Imports System.Drawing.Text
Imports System.Drawing
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i = 6 To 24
ComboBox2.Items.Add(i.ToString()) 'Koot 6 - 24
Next
Dim installed_fonts As New InstalledFontCollection
' Taulukko System Font Families:stä
Dim font_families() As FontFamily = installed_fonts.Families()
'Lisätään comboboxiin
For Each font_family As FontFamily In font_families
ComboBox1.Items.Add(font_family.Name)
Next font_family
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Font = New Font(ComboBox1.SelectedItem.ToString(), Convert.ToSingle(ComboBox2.SelectedItem.ToString()), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point) 'asetetaan uusi fontti ja koko
End Sub
End Class[noob]http://msdn.microsoft.com/en-us/library/aa733519(VS.60).aspx tämä se ohje oli aika epäselvä... haluaisin richtextboxiin tämän tekstin ja fontin muutoksen.
Kiitos jo etukäteen! :)[/noob]
Heippa Seppo_Taalasmaa!
tässä osviittaa RtfBoxin fontti-ominaisuuksien säätelyyn...
'Väännetty SharpDevelop 3.2:lla
Imports System
Imports System.Drawing
Imports System.Drawing.Text
Imports System.Windows.Forms
Public Partial Class MainForm
Private fntStyle As FontStyle
Public Sub New()
Me.InitializeComponent()
End Sub
Sub MainFormLoad(sender As Object, e As EventArgs)
For Each ctl As Control In Me.Controls
If ctl.name.Substring(0,5) = "fsBtn" Then
ctl.Tag = False
ctl.BackColor = Color.WhiteSmoke
End If
Next
FillCboFontNames
End Sub
Sub FsBtn0Click(sender As Object, e As EventArgs)
SetFontStyleOptions(sender)
End Sub
Sub FsBtn1Click(sender As Object, e As EventArgs)
SetFontStyleOptions(sender)
End Sub
Sub FsBtn2Click(sender As Object, e As EventArgs)
SetFontStyleOptions(sender)
End Sub
Sub FsBtn3Click(sender As Object, e As EventArgs)
SetFontStyleOptions(sender)
End Sub
Sub FcBtnClick(sender As Object, e As EventArgs)
SetFontColorOptions(sender)
End Sub
Sub BcBtnClick(sender As Object, e As EventArgs)
SetFontColorOptions(sender)
End Sub
Sub ComboBox1SelectedIndexChanged(sender As Object, e As EventArgs)
SetFontStyleOptions(sender)
End Sub
Sub NumericUpDown1ValueChanged(sender As Object, e As EventArgs)
SetFontStyleOptions(sender)
End Sub
Public Sub FillCboFontNames()
Dim index As Integer = 0
Dim ifonts As New InstalledFontCollection
For Each family As FontFamily In ifonts.Families
ComboBox1.Items.Add(family.Name)
Next
For i As Integer = 0 To comboBox1.Items.Count -1
If comboBox1.Items(i) = "Times New Roman" Then
index = i: Exit for
End If
Next
comboBox1.SelectedIndex = index
numericUpDown1.Value = 10
ifonts = Nothing
End Sub
Public Sub ChangeRtfStyle()
Try
Richtextbox1.SelectionFont = _
New Font(New FontFamily( _
ComboBox1.SelectedItem.ToString ) _
, numericUpDown1.value, fntStyle)
richTextbox1.Focus
Catch ex As Exception
End Try
End Sub
Public Sub SetFontStyleOptions(ctl As Control)
ctl.Tag = Not ctl.Tag
If ctl.Tag Then
ctl.BackColor = Color.LightGray
Else
ctl.BackColor = Color.WhiteSmoke
End If
Dim binStr As String = ""
For i = 3 To 0 Step -1
If Me.Controls("fsBtn" _
& Cstr(i)).Tag = True Then
binStr += "1"
Else
binStr += "0"
End If
Next
Dim value As long = 0
For i As Integer = binStr.Length To 1 Step -1
If Mid(binStr, i, 1) = "1" Then
value += 2 ^ (binStr.Length - i)
End If
Next i
fntStyle = value
ChangeRtfStyle
End Sub
Public Sub SetFontColorOptions(ctl As Control)
colorDialog1.ShowDialog
Select Case ctl.Name
Case "fcBtn"
richTextbox1.SelectionColor = _
ColorDialog1.Color
richTextbox1.Focus
Case "bcBtn"
richTextbox1.SelectionBackColor = _
ColorDialog1.Color
richTextbox1.Focus
End Select
End Sub
End ClassEn saanut toimimaan tuota... tai sitten en vaan osaa :) Mulla on siis fonttiToolStripComboBox ja fontinkokoToolStripComboBox Comboboxit ja näihin pitäis saada ne säätelyt toimimaan. Voihan se olla siitä kiinni että olen vielä aloittelija ja en ymmärrä vielä kaikkia mahdollista mutta koittakaa kestää noobiuteni :D
ja tämä kyseinen ominaisuus tulee tekstinkäsittely ohjelmaan
http://msdn.microsoft.com/en-us/library/aa733519(VS.60).aspx voisiko joku tämän kääntää vb6:sta vb.nettiin?
Heippa taas Seppo_Taalasmaa!
mielestäni linkin VB6 esimerkki on syvältä, mutta tässä käännetty VB.NET versio
Imports System
Imports System.Drawing
Imports System.Drawing.Text
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
With toolstripCombobox1
.Items.Add ("Black")
.Items.Add ("Blue")
.Items.Add ("Red")
.Items.Add ("Green")
.SelectedIndex = 0
End With
Dim ifonts As New InstalledFontCollection
With toolstripCombobox2
For Each family As FontFamily In ifonts.Families
.Items.Add(family.Name)
Next
.DropDownStyle = 2
End With
ifonts = Nothing
With toolstripCombobox3
For i As Integer = 8 To 72 Step 2
.Items.Add(i)
Next
.SelectedIndex = 1
End With
For i As Integer = 0 To _
toolstripCombobox2.Items.Count -1
If toolstripCombobox2.Items(i) = _
"Times New Roman" Then
toolstripCombobox2.SelectedIndex = i
Exit For
End If
Next
End Sub
Private Sub RichTextBox1_SelectionChanged(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles RichTextBox1.SelectionChanged
Try
ToolStripComboBox3.Text = _
CInt(RichTextBox1.SelectionFont.Size).ToString
ToolStripComboBox2.Text = RichTextBox1.SelectionFont.Name
With RichTextBox1
Select Case .SelectionColor
Case Color.Black
ToolStripComboBox1.SelectedIndex = 0
Case Color.Blue
ToolStripComboBox1.SelectedIndex = 1
Case Color.Red
ToolStripComboBox1.SelectedIndex = 2
Case Color.Green
ToolStripComboBox1.SelectedIndex = 3
End Select
End With
Catch ex As Exception
End Try
End Sub
Private Sub ToolStripComboBox1_SelectedIndexChanged(sender as Object, _
e as EventArgs) Handles ToolStripComboBox1.SelectedIndexChanged
ChangeFontColor(sender.SeletedIndex)
End Sub
Private Sub ToolStripComboBox2_SelectedIndexChanged(sender as Object, _
e as EventArgs) Handles ToolStripComboBox2.SelectedIndexChanged
ChangeFontProperties
End Sub
Private Sub ToolStripComboBox3_SelectedIndexChanged(sender as Object, _
e as EventArgs) Handles ToolStripComboBox3.SelectedIndexChanged
ChangeFontProperties
End Sub
Sub ChangeFontColor(ByVal Index As Integer)
With Richtextbox1
Select Case Index
Case 0
.SelectionColor = Color.Black
Case 1
.SelectionColor = Color.Blue
Case 2
.SelectionColor = Color.Red
Case 3
.SelectionColor = Color.Green
End Select
.Focus
End With
End Sub
Sub ChangeFontProperties()
With Richtextbox1
Try
.SelectionFont = _
New Font(New FontFamily( _
ToolStripComboBox2.Text), _
Cint(ToolStripComboBox3.Text), _
Fontstyle.Regular)
.Focus
Catch ex As Exception
End Try
End With
End Sub
End ClassKiitoksia neau33! :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.