午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

つまみが二つのトラックバーの修正、表示がおかしかったのを少し直した

前回
 

せっかく作ったユーザーコントロールが期待通りに動かなかったけど

何とかなった顛末
 
作ったユーザーコントロールのMyTrackBarをPixtack紫陽花に追加して動かそうとしたらエラー

f:id:gogowaten:20191017164807p:plain

フレームワークのバージョンが違うとのエラー
 

f:id:gogowaten:20191017164823p:plain

Pixtack紫陽花は.NET Framework 4 Client Profileで
MyTrackBarは.NET Framework 4.5
4で作っているアプリに4.5で作ったユーザーコントロールは使えないみたい
なのでMyTrackBarのプロパティ画面の対象のフレームワークを4.5から
4 Client Profileに変更してビルドしなおした

f:id:gogowaten:20191017164837p:plain

ターゲットフレームワークの変更
 

f:id:gogowaten:20191017164853p:plain

ビルドし直す
 
これで動くようになったんだけど

f:id:gogowaten:20191017164906p:plain

表示がおかしい
 
デザイン画面では表示されている二つのつまみが、実行時には下限のボタンが表示されない、正確には下限のボタンがMyTrackBarコントロールの表示範囲の外側に飛び出した状態になっているのと
ボタンが軸に対して左にずれて表示されている
 

f:id:gogowaten:20191017164917p:plain

試しに他の場所にMyTrackBarを追加してみる
実行してみると

f:id:gogowaten:20191017164928p:plain

正しく表示されている
追加する場所によって正しく表示されたりされなかったり
 
ボタンの表示位置はValue1とValue2の値とコントロールの大きさで決めている
コントロールの大きさの取得がうまくできていないみたい?
いろいろ試して得た対処法は

f:id:gogowaten:20191017164939p:plain

MyTrackBarのFontをMSゴシックに指定する
理由はわからないけど、これで正常に表示されるようになった
 
あとAutoSizeをFalseにしないとおかしくなるとかほかにもあるかも
 
それでも期待通りに動くようになった結果は
まだおかしいところがあるけど、少し直して
ターゲットフレームワークの変更で4.5から.NET Framework 4 Client Profileに変更したつまみが二つのMyTrackBar
 
ダウンロード
ヤフーボックス
MyTrackBar_20150328.7z