Visual Basic 2010を勉強しています。
フォームに貼り付けたコントロールのプロパティの設定についてですが、
今までは、貼り付けた後にプロパティウインドウで直接いじっていました。
(Text、Font、Imageなど...)
ですが、知人が書いたコードを見ていると、コードの中で設定しているようなのです。
プロパティウインドウで設定した方が、視覚的にも確認しながら設定できるのでそうしていたのですが、コード内で設定するのと違いはあるのでしょうか?(パフォーマンスやコードの見やすさなど...)
動的にコントロールを配置したい時や、プロパティを変更したい場合にはコード内で操作しますが、初期設定やラベル等の変更することがないようなコントロールに関しては、どちらでも同じような気がするのですが...
実際に皆さんがどうされているのかも気になり、質問させて頂きました。
以上、何卒よろしくお願いいたします。
No.1
- 回答日時:
・規約上、コードのみで状態を確認する為、コードでプロパティを記述している。
⇒この場合、Location、Sizeなど、全てのプロパティがコード上で再定義されていないと
おかしいはずですが。
・コピペできるから。
このいずれかじゃないでしょうか。
個人的には、ビジネスロジックを確認する際の邪魔になるので嫌いです。
お早いご回答ありがとうございました!
お礼が遅れ申し訳ございません...
やはり多数の意見として、コードに記述した方が良いという方が多いみたいですね...
保守性を考えれば当然ということですね(汗)
No.2ベストアンサー
- 回答日時:
私は、デフォルト設定から変更する場合は、主にコードで設定しています。
ただ、デザイナで変更しても、InitializeComponent 内に自動でコードが
書かれます。そういった意味では、プロパティウインドウで設定しても
自分でコードを書かないだけで、コードで設定しているとも言えます。
ところが、この自動で書かれているコードには独自のルールがあるようで、
プロパティのデフォルト値と同じであると省略されたり、コードに書かれる
コントロールの順も不定な部分があります。また、開発環境の解像度などの
影響を受けて、プロパティ値が自動調整される事があります。
そういった諸々の事情から、企業で開発するプロジェクトでの保守性や、
別プロジェクトへの再利用性に劣ります。
自前のコードで書いてあると、そこが自動で変更される事は無い(実行時に
調整される事はあっても)ので、意図して値を変更した事が明確に履歴管理
でき、また、そのコードで1回十分にテストしておけば、そのまま安心して
他プロジェクトに流用できます。また、複数プロジェクトで、どのプロパティ
を流用して、どのプロパティは流用しなかったか(つまり、どの機能を実装し、
どの機能は実装しなかったか)といった差分比較も簡単になります。
少し特殊な事例としては、画面上に規則正しくコントロールが並んでいる時に
その位置や初期値を関数で設定した事があります。一度設定するだけなら
デザイナ上で設定しても手間は変わらないか、むしろ関数化するほうが時間が
掛かるかもしれませんが、何度も調整したり、変更が予想される場合は
少しの変更で調整できて便利でした。
以上のような経験から、
デザイナ上で調整するのは、位置と、タブ順・コントロール名くらいで、
他のプロパティは基本的には自前のコードで設定するようになりました。
とても丁寧なご回答ありがとうございました!
コントロールプロパティをコードで記述する必要性、理由がよく分かりました!
何事も保守性・生産性を高める為の手間を惜しむなということですねっ!
精進します!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:16
- IT・エンジニアリング ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:17
- Excel(エクセル) コントロールにリンクするセルが選択されない 3 2022/06/12 14:37
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- Visual Basic(VBA) PowerPoint VBA で画像の鮮明度を変更する方法がわかりません 2 2023/03/24 13:34
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- SEO Googleアナリティクスでの設定について 1 2023/07/12 09:07
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Exel VBA 別ブックから該当デ...
-
pythonにてseleniumを使うも、...
-
access2003 クエリSQL文に...
-
1、Rstudioで回帰直線を求める...
-
chatgptでつくってもらったコー...
-
MessageBoxで表示される文字列...
-
ExcelのVBAコードについて教え...
-
1日に1人がこなせるプログラム...
-
フィルターかけた後、重複を除...
-
特定行の背景色を変えたいのですが
-
アルファベットに付いて質問し...
-
パイソンプログラム
-
UWSCでMOUSEORG関数が上手く処...
-
COBOLの文法
-
コンパイルエラー 変数が定義...
-
Gitのクローンについて
-
文字コードについて
-
ユーザーフォームに2つのコン...
-
Visual BASIC イベント作成しよ...
-
欠番の抽出について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
Exel VBA 別ブックから該当デ...
-
pythonにてseleniumを使うも、...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
chatgptでつくってもらったコー...
-
欠番の抽出について
-
JANコードとPOSコードは同じ?
-
JavaScriptの定数名が取り消し...
-
1、Rstudioで回帰直線を求める...
-
特定行の背景色を変えたいのですが
-
変数名「cur」について
-
PreviewKeyDownイベントが2回...
-
将来AIが進歩してくるにつれて...
-
ACCESSユニオンクエリでORDER B...
-
COBOLの文法
-
VBAでファイルオープン後にコー...
-
Nullの使い方が不正です。
おすすめ情報