「ComboBox」のItemに、「RichTextBox」の書式のデータを書き込む方法


素人の白老人  2022-11-04 23:58:18  No: 150667  IP: [192.*.*.*]

 昔、VBでPGを作成していた老人です。今は、自由時間がたっぷりあるので、若い人に役立つ様な計算用のPGを作成して、ホームページで公開しようと思い、最近、VB.netでPGを作成する為の準備を始めました。
 私の専門は機械工学なので、単位の無い計算は意味がありません。それで先ず、入力する人はどの単位からでも入力出来て、計算する時は、指定の単位に自動的に変換する「単位付き数値入力」をユーザーコントロールで作成しようと構想しています。簡単に言えば、「TextBox」と「ComboBox」とを一体にしただけのユーザーコントロールです。とても簡単なコントロールなのですが、ただ1点問題なのは、「ComboBox」のTextに「上付き文字」、「下付き文字」が入力で出来ない事です。プログラムを作って実験してみましたが、うまくいきませんでした。「ComboBox」には、「単位の文字」そのものを入力したいのですが、単位には、「上付き文字」、「下付き文字」が必須なので、これが出来ないと意味がありません。
 一方、実験によると、「RichTextBox」だと、「上付き文字」、「下付き文字」が簡単に入力出来ますし、データ保存も出来ます。従って、「ComboBox」のItemに、「RichTextBox」の書式のデータが書き込める様にすれば良さそうなのですが、その方法が分かりません。

 そこで、質問です。
1) ユーザーコントロール内の「ComboBox」に、「RichTextBox」の書式のデータを書き込める様にするには、どうすれば良いか? (出来るのか?)

2) 「RichTextBox」の書式のデータを書きこむ方法で、私の知っている方法は、下記の方法しかない。この方法では、「ComboBox」のItem項目にAddする事は出来ない。保存データから、変数に読みだす方法はないだろうか?
 <私の知っているRichTextBox保存データの読みだし方>
  RichTextBox1.SaveFile(fpath1, RichTextBoxStreamType.RichText)

<使用環境>
・ PC : Windows11 Pro
・ 使用ツール : Visual Studio 2022 / Free Version
・ 使用言語  : Visual Basic
・ 作成アプリ : Windows フォームアプリケーション(.NET Framework)
          Windows フォームアプリ
          出来るだけ多くの人役立つ様に、両方作成の予定

編集    削除
KOZ  2023-09-14 15:50:57  No: 151093  IP: [192.*.*.*]

単位の文字なら、Unicode にあるんじゃないですか?
「単位の略文字、短縮文字」
https://0g0.org/topic/unit/
TextBox に張り付けられる文字であれば、そのまま表示できますよ。

編集    削除