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

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

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

Re[2]: TrackBarのOnPaintをいじる方法


(過去ログ 151 を表示中)

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

■87767 / inTopicNo.1)  TrackBarのOnPaintをいじる方法
  
□投稿者/ 権太 (1回)-(2018/06/28(Thu) 22:53:53)

分類:[.NET 全般] 

ProgressBarなどの場合には、

Public Class ProgressBar2
Inherits ProgressBar

Protected Overrides Sub OnPaint(e As PaintEventArgs)

End Sub
End Class


のようにして、ProgressBarの外観をいじることができました。

一方で、TrackBarの場合にも同様に


Public Class TrackBar2
Inherits TrackBar

Protected Overrides Sub OnPaint(e As PaintEventArgs)

End Sub
End Class

とやってみたのですが、
ブレイクポイントをOnPaintの中に置いても
そこで停止されないので、
どうもOnPaintの中もプログラムは実行されていないようです。

https://msdn.microsoft.com/en-us/library/system.windows.forms.trackbar(v=vs.110).aspx

このページを確認すると
OnPaintはサポートしていると思うのですが
一体なぜでしょうか?


引用返信 編集キー/
■87768 / inTopicNo.2)  Re[1]: TrackBarのOnPaintをいじる方法
□投稿者/ Hongliang (653回)-(2018/06/28(Thu) 23:09:20)
https://msdn.microsoft.com/en-us/library/system.windows.forms.trackbar.paint.aspx
OnPaintが発生させるPaintイベントの方を見れば書かれていますが、インフラ用であってコードから使うものでは無い、です。
一応、TrackBar派生クラスのコンストラクタ等で
SetStyle(ControlStyles.UserPaint, True)
としてやればOnPaint/Paintが動くようですが多分挙動は保証されません。
引用返信 編集キー/
■87790 / inTopicNo.3)  Re[2]: TrackBarのOnPaintをいじる方法
□投稿者/ 権太 (2回)-(2018/06/29(Fri) 22:15:27)
ありがとうございます。
SetStyle(ControlStyles.UserPaint, True)

というのはどのように使用すれば良いですか?

自分でトラックバーを作りたいのですが
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.trackbarrenderer.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

このページのコードを使ってみたところ
ツールボックスからD&Dでフォームに移そうとすると
以下のエラーメッセージが表示されます
一体どうすれば良いですか?


---------------------------
Microsoft Visual Studio
---------------------------
コンポーネント 'CustomTrackBar' を生成できませんでした。 エラー メッセージ:

'System.MissingMethodException: 型 'WindowsApplication1.TrackBarRendererSample.CustomTrackBar' にコンストラクターが見つかりませんでした。

場所 System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)

場所 System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)

場所 System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture)

場所 System.ComponentModel.Design.DesignSurface.CreateInstance(Type type)

場所 Microsoft.VisualStudio.Design.VSDesignSurface.CreateInstance(Type type)

場所 System.ComponentModel.Design.DesignerHost.System.ComponentModel.Design.IDesignerHost.CreateComponent(Type componentType, String name)

場所 System.ComponentModel.Design.DesignerHost.System.ComponentModel.Design.IDesignerHost.CreateComponent(Type componentType)

場所 System.Dra...'
---------------------------
OK
---------------------------




引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -