トップ回答者
Windowsフォームアプリケーションでwpfのviewboxのような機能を実現する方法

質問
-
お世話になっております。今回Windowsフォームアプリケーション(VB.NET)で使用しているTextboxについて質問させていただきます。
目指している機能は、textboxに表示している文字をフォームのサイズに合わせて伸縮できるという機能です。できる限り大きく表示することができれば良いです。
自分で調べた限り、WPFのviewboxであれば、(viewbox.stretch = "uniform")というコードで可能だということがわかりました。Windowsフォームアプリケーションにはviewboxがないのでやり方が分かりません。
Windowsフォームアプリケーションでも同様の機能の実現は可能でしょうか。
回答
-
WPF ではコントロールの描画も DirectX エンジンで実現されていますので、Windows フォーム アプリケーションで同じようにコントロールのテキストをスムーズに拡縮するのはかなり難しいと思います。
スムーズ性を特に求めないのであれば、
Me.TextBox1.Font = New Font("Arial", fontsize)
上記のように、ウィンドウサイズ変更時にフォントサイズ(fontsize)を指定してコントロールのフォントを変更していく処理になるかと思います。- 編集済み kenjinoteMVP 2017年10月4日 10:29
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年10月5日 0:19
- 回答としてマーク 熊テン 2017年10月5日 3:44
-
こんにちは。
WindowsフォームでWPFコントロールをホストすることが出来るので、
WPFのViewBoxとTextBoxを使うことが可能です。Dim elementHost = New System.Windows.Forms.Integration.ElementHost() elementHost.Dock = DockStyle.Fill Dim viewBox = New System.Windows.Controls.Viewbox() viewBox.Stretch = Windows.Media.Stretch.Uniform Dim innerTextBox = New System.Windows.Controls.TextBox() viewBox.Child = innerTextBox elementHost.Child = viewBox Controls.Add(elementHost)
WPFコントロールをWindowsフォームに配置する
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年10月5日 0:19
- 回答としてマーク 熊テン 2017年10月5日 3:44
すべての返信
-
WPF ではコントロールの描画も DirectX エンジンで実現されていますので、Windows フォーム アプリケーションで同じようにコントロールのテキストをスムーズに拡縮するのはかなり難しいと思います。
スムーズ性を特に求めないのであれば、
Me.TextBox1.Font = New Font("Arial", fontsize)
上記のように、ウィンドウサイズ変更時にフォントサイズ(fontsize)を指定してコントロールのフォントを変更していく処理になるかと思います。- 編集済み kenjinoteMVP 2017年10月4日 10:29
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年10月5日 0:19
- 回答としてマーク 熊テン 2017年10月5日 3:44
-
こんにちは。
WindowsフォームでWPFコントロールをホストすることが出来るので、
WPFのViewBoxとTextBoxを使うことが可能です。Dim elementHost = New System.Windows.Forms.Integration.ElementHost() elementHost.Dock = DockStyle.Fill Dim viewBox = New System.Windows.Controls.Viewbox() viewBox.Stretch = Windows.Media.Stretch.Uniform Dim innerTextBox = New System.Windows.Controls.TextBox() viewBox.Child = innerTextBox elementHost.Child = viewBox Controls.Add(elementHost)
WPFコントロールをWindowsフォームに配置する
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年10月5日 0:19
- 回答としてマーク 熊テン 2017年10月5日 3:44