掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
InitLayoutよりも後に実行されるイベントは? (ID:146804)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
端的に表現したいなら「DateTimePicker継承コントロール」でしょう。 ユーザーがカスタマイズした独自のコントロールという意味で、 カスタムコントロールやユーザーコントロールでも間違いでは無い ですが、継承してないものも含まれてしまいます。そして、継承して いる事が重要な情報となります。 ただし、質問者が継承を理解しているのかどうか分かりませんし、 再現手順として実際にやった事を書いているのが非常に分かり易い です(余計な確認をしなくて済みます)。 まず、デザイン時に設定されたプロパティ値を誰がいつ設定している かご存知でしょうか?デザイン画面での変更がコードとして保存されて います。 [ソリューションエクスプローラ]上部のアイコンで[すべてのファイル を表示]にしてください。Form1.vb ファイルの下に Form1.Designer.vb というファイルが確認できるでしょうか?ここにフォームの New から 実行されるコントロールの初期化処理(InitializeComponent)が書かれ ます。 つまり、コントロールのレベルでは、どこまでいってもデザイン画面 の設定は反映されません。フォームの上に配置した時に、フォームが 設定しているのです。 従って、フォームの New 内で InitializeComponent の後に書くのが 一般的です。フォームの New は VB に自動で書いてもらって下さい。 自動で書かれるコードを省略してますが、概要は以下のような感じに なります。 [VB2008] Partial Class Form1 Inherits System.Windows.Forms.Form Public Sub New() ' この呼び出しは、Windows フォーム デザイナで必要です。 InitializeComponent() ' InitializeComponent() 呼び出しの後で初期化を追加します。 Call MyInitialize() End Sub Private Sub MyInitialize() Me.MyDateTimePicker1.FormatString = Me.MyDateTimePicker1.CustomFormat End Sub End Class
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.