- 締切済み
テキストボックスなどに表示されるテキストが指定領域内に入っているか確認
テキストボックスなどに表示されるテキストが指定領域内に入っているか確認したい。 いつもお世話になっております。 現在C#3.0 .net2.0 spread.net環境でクライアントアプリケーションの開発をしています。 テキストボックスなどに表示されるテキストが指定領域内に入っているか確認し、はみ出した分 と領域内の分のテキストを分けて取得しようとしています。 テキストの内容は日本語と英語の混合文字列とします。 初めは、GraphicsのMeasureStringを使用して実装しようとしたのですが、折り返し位置に英 語が来たときの単語単位の折り返しに対応できずに断念してしましました。 次に、DataGridViewの行の高さの自動設定を使用して実装しようとしたのですが、この処理はDataGridViewを表示させないと行の高さの自動設定が働かずに断念しました。表示状態では意 図していた要件を満たすことができました。 因みに、AutoResizeRows()メソッドなどで、強制的に行わせようとしてもだめでした。 まとめると次のいずれかが知りたいです。 ・GraphicsのMeasureStringで単語単位の折り返しなどの英語関連の動作をさせる方法 ・DataGridViewを表示させずに行の高さの自動設定を行う方法 ・別アプローチではみ出した分と領域内の分のテキストを分けて取得する方法
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- LOHA
- ベストアンサー率52% (203/388)
別アプローチの方法ですが、DrawTextとかGetTextExtentPoint32とかGetCharWidth32を使えば一応、描画幅が求められます。 こんなのも参考になるかもしれません。 https://www.microsoft.com/japan/msdn/archive/community/gdn/ShowPost-5579.htm