C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ボタン上のテキストフォントを部分的に変える方法

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■95841 / inTopicNo.1)  ボタン上のテキストフォントを部分的に変える方法
  
□投稿者/ kurasu (1回)-(2020/10/01(Thu) 15:47:15)

分類:[.NET 全般] 

VB2015に関する質問です。


ボタン上にXYZ(123)
という文字列を表示し、
XYZだけは、フォントサイズを20pt、
(123)だけは、フォントサイズを10pt
にしたいのですが、
こういうことってできますでしょうか?


引用返信 編集キー/
■95843 / inTopicNo.2)  Re[1]: ボタン上のテキストフォントを部分的に変える方法
□投稿者/ ぶなっぷ (246回)-(2020/10/01(Thu) 18:04:51)
2020/10/01(Thu) 18:05:03 編集(投稿者)
環境の指定がないのでWPFにて。。。

XAMLで書くならこんな感じ。
    <Button>
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="XYZ" FontSize="20" />
            <TextBlock Text="(123)" FontSize="10" VerticalAlignment="Center" />
        </StackPanel>
    </Button>

引用返信 編集キー/
■95844 / inTopicNo.3)  Re[1]: ボタン上のテキストフォントを部分的に変える方法
□投稿者/ Azulean (1164回)-(2020/10/01(Thu) 21:53:48)
No95841 (kurasu さん) に返信
> XYZだけは、フォントサイズを20pt、
> (123)だけは、フォントサイズを10pt
> にしたいのですが、
> こういうことってできますでしょうか?

WPF ならすでに回答のついているとおり簡単ですが、Windows Forms なら自分で文字列を描画するコードを書かないといけないです。
一例:https://dobon.net/vb/dotnet/control/btnownerdraw.html
引用返信 編集キー/
■95845 / inTopicNo.4)  Re[1]: ボタン上のテキストフォントを部分的に変える方法
□投稿者/ 大谷刑部 (105回)-(2020/10/02(Fri) 15:36:09)
No95841 (kurasu さん) に返信
> VB2015に関する質問です。
>
>
> ボタン上にXYZ(123)
> という文字列を表示し、
> XYZだけは、フォントサイズを20pt、
> (123)だけは、フォントサイズを10pt
> にしたいのですが、
> こういうことってできますでしょうか?

WindowsFormsの場合、
ボタンに文字列を部分的にフォント変えるプロパティーはなく、
リッチテキストボックスはExcelの様に文字選択をして、選択箇所のフォントを変える(SelectionFontプロパティーを設定)ことができるので
ボタンの上にリッチテキストボックスを小さめのサイズで配置して、該当する文字だけサイズ変えるとかすれば、見た目上は細工できるでしょうが、
配置してるリッチテキストをクリックしたときの挙動をどうするかとかかなり面倒な制御が必要になると思われます。


引用返信 編集キー/
■95846 / inTopicNo.5)  Re[2]: ボタン上のテキストフォントを部分的に変える方法
□投稿者/ 大谷刑部 (106回)-(2020/10/02(Fri) 15:45:07)
No95845 (大谷刑部 さん) に返信
> 配置してるリッチテキストをクリックしたときの挙動をどうするかとかかなり面倒な制御が必要になると思われます。

同じイベントにハンドルすれば、イベント自体はボタンと同じものが実行されるようですね。
それ以降の挙動は処理内容がボタンであること前提のロジックが皆無であれば、正常に動くとしか言えないので、元のボタンの処理内容によります。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ