■94748 / inTopicNo.6) |
Re[4]: labelのフォントサイズの調整方法について |
□投稿者/ 魔界の仮面弁士 (2712回)-(2020/05/12(Tue) 15:41:18)
|
■No94745 (魔界の仮面弁士) に追記
>>フォントサイズを小さくしすぎてしまうと漢字が見にくくなってしまうため
>>文字の種類ごとにフォントサイズを調整する方法がないかどうか質問させていただきました。
> いずれにせよ、Label そのものは Font を 1 種類しか割り当てられないので、
> 先の案のように何らかの回避策を講じる必要があるでしょう。
別案として、マーキー表示なら Label のサンプル。
文字を小さくせずに表現できます。ただ、可読性という点では…。
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=11243
■No94742 (魔界の仮面弁士) に追記
> (案3)Label の代わりに、読み取り専用な RichTextBox や WebBrowser を利用する
RichTextBox の例
Option Strict On
Public Class Form1
Private NormalTextFont As Font
Private SpecialTextFont As Font
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
NormalTextFont = New Font("MS UI Gothic", 10.0F)
SpecialTextFont = New Font("MS UI Gothic", 12.0F)
RichTextBox1.Multiline = False
RichTextBox1.WordWrap = False
RichTextBox1.Text = "csvファイルから読み込んだデータが漢字のときはフォントサイズを10、カタカナと英数字のときはフォントサイズを12、と言った風にlabelのフォントサイズを調整したいのですが可能でしょうか?"
'RichTextBox1.Multiline = True
'RichTextBox1.WordWrap = True
'RichTextBox1.Lines = New String() {
' "csvファイルから読み込んだデータが",
' "漢字のときはフォントサイズを10、カタカナと英数字のときはフォントサイズを12、と言った風にlabelのフォントサイズを調整したいのですが可能でしょうか?"
'}
RichTextBox1.BorderStyle = BorderStyle.None
RichTextBox1.BackColor = SystemColors.Control
RichTextBox1.ReadOnly = True
RichTextBox1.ScrollBars = RichTextBoxScrollBars.None
RichTextBox1.TabStop = False
RichTextBox1.Font = NormalTextFont
RichTextBox1.ForeColor = Color.Red
AddHandler RichTextBox1.GotFocus, Sub() Me.ActiveControl = Nothing
'RichTextBox1.Cursor = Cursors.Default
'カタカナと英数字のフォントを変更する
'他の文字種(半角/全角形の場合や記号など)の扱いを変えたければ、適宜調整してみてください
RichTextBox1.Visible = False
For i = 0 To RichTextBox1.TextLength
RichTextBox1.Select(i, 1)
Dim c As Char = RichTextBox1.SelectedText.FirstOrDefault()
If RichTextBox1.SelectedText Like "[ァ-ー0-9a-zA-Z]" Then
RichTextBox1.SelectionFont = SpecialTextFont
End If
Next
RichTextBox1.Visible = True
End Sub
End Class
|
|