Visual Studio .NET

Visual Studioの使い方だけではなく.NET全般の話題も扱います。 長くなってきたらFrameworkのクラスの話はクラス階層でわけちゃいましょうかね。(余計わかりづらいか?)

  • Tips [#oeb9b5a0]
    • ブレークポイントに?マークが付き止まらなくなった [#r1ae01e5]

Releaseでビルドするとそうなるが、一見Debugモードでもこうなる場合がある。 この時は、一度Releaseなどに切り替えて、再度Debugモードに戻すと良い。 これは以下のような時に起こる。 Releaseで一度ビルドを開始して、すぐにDebugモードに切り替えると、 「ビルドを中止します」というような表示が出るので「はい」とすると、 その後のビルドでは確かにDebugで指定されたプロジェクトのみビルドされるが、 デバッグモードになっておらず、ブレークポイントで止まらない。

    • よく使うショートカット [#i8af2996]

,ctrl+F6,次のドキュメントウィンドウ ,ctrl+shift+F6,前のドキュメントウィンドウ

    • 実行しているEXEのパス(フォルダ)を取得する(.NETでApp.Path) [#s123f2ee]

System.Windows.Formsを参照設定している場合は、Application.ExecutablePathで取得できる。 また、

Assembly asm = Assembly.GetExecutingAssembly();
String exePath = Path.GetDirectoryName(asm.Location);

でも、OK。

※ヘルプでは下の方が書かれているが、Applicationの方はWindows名前空間の中に入っているので、 もしも将来的に他のプラットフォームで動く.NETが提供されたときに使えないからなんだろうなぁ。

    • IDEからDataGridの列をチェックボックスに変更する [#r8eeab7e]

DataGridコントロールにTableStylesというプロパティーがあるので、そこをクリックし、 追加を押しTableStyleを新規に追加する。その中にGridColumnStyleというのがあるので、 またそこをクリックし、追加の横の▼からDataGridBoolColumnを選択。後はMappingNameなどを指定すれば良い。

    • 名前空間にエイリアス(別名)を指定する [#hc941fa3]

VB.NETでImportsというのものがあるが、これを

Imports dt = System.Data

などと指定すると、

dt.DataSet ds  = New dt.DataSet

というように省略して指定できるようになる。「エイリアス」というらしい。

    • システムフォルダのパスを得る [#oaed5f8e]

Application Dataなどのパスを取得する方法

以下参照

http://www.atmarkit.co.jp/fdotnet/dotnettips/032spfolder/spfolder.html

    • 画面を広く使う [#wdfe119a]

フォームデザイナーは右端に配置して「自動的に隠れる」の状態にしておけば良い。 左に配置して自動的に隠すようにしていても後ろに肝心のフォームデザインが隠れてしまいかえって使いづらい。

    • C#で不要なイベントメソッド(?)を削除 [#o34055a8]

例えば途中でフォームの名前を変更したので、一度以前のメソッドを削除して今のフォーム名に即した メソッド名に変えたい場合。 コードのメソッドを消すと定義部分でエラーが出るので、雷のマークを押して消したいメソッドを削除して、 そのイベント名を再度ダブルクリックしてメソッドを作成した方が良い。

  • お役立ちリンク [#m6c213c1]

-http://www.divakk.co.jp/aoyagi/index.html –こちらのTipsは一度目を通してみると良いかも。普段、何気なく素通りしてしまいそうなことに深くつっこまれています。

  • 作業メモ [#qf272245]

作業中のメモ。結果が分かったらTipsに移動します。

    • DataSetと連結させたDatagridコントロールのヘッダにCaptionで設定した内容が表示されない [#y3796272]

なぜか、ColumnNameの方が表示される。前回はちゃんと日本語のCaptionが表示されたのに。 しかも、なぜか初期のCaptionFontがTahome?とかいう日本語ではないフォントになっていた。 DataSetはコントロールをフォームにドロップして「型指定がない」の方を選択。 入力の時にうまくCaptionが表示されていたときは、先にColumnNameを入れてCaptionを入れた。今回は逆にした。 関係ないよね?

    • DataGridでチェックボックスが3つの状態を表すタイプのものにしかならない [#w2f8c324]

http://www.atmarkit.co.jp/fdotnet/dotnettips/105dgchkbox/dgchkbox.html グレーアウトしたチェックボックスはいらないのだが、どうしても消せない。 ヘルプ見る限りではAllowNullをFalseにすれば良いみたいだが、やったところで変化無し。 TableSylesのMappingの候補に何も出ないのも気になる・・