【C#】デバッグや通知に便利なメッセージ通知方法の使い分け


 

 

目的 方法
モーダルダイアログで確実に通知して、処理を一旦止める。

MessageBox
MessageBox.Show("メッセージ\nです。");

MessageBox.Show("メッセージ", "タイトル", MessageBoxButtons.YesNo,
MessageBoxIcon.Question);

結果はDialogResult の定数を使う。

フォーム上のパーツの説明をやんわりと伝える。

ToolTip

ToolTip1.SetToolTip(Button1, "Button1です")

バルーンぽく表示させる(OS設定に依存)
ToolTip1.IsBalloon = true;

画面端でちょっと通知

NotifyIcon

NotifyIcon1.BalloonTipText = "メッセージ";
NotifyIcon1.ShowBalloonTip(2000)

アイコンやタイトルも設定可能。文字数が63文字まで。

ツールチップの色はOS設定。

windows8,10では 行数2行に制限され、音とともに大きなラベルで通知される。アクションセンターに残る(Growlみたいに)?

バルーンで任意のタイミングと位置で通知

Help

Help.ShowPopup(this, "メッセージです", Control.MousePosition);

Form上で良ければToolTipが使えます。

ToolTip1.Show("メッセージです", this, 10, 10, 2000);

もっと複雑な表現をしたい 独自の、ContextMenuや Dialogを 作ってShow()する。
コンソール上で表示

Console.WriteLine("")

Write() を使えば改行は出力されない。
out/in でファイルなど入出力を設定可能。
titleも設定可能
Console.WriteLine("")

コンソールかつデバッグ時だけ表示

Diagnostics を使う。

Consoleと違って、Debugだと、デバッグ時のみ出力される。
アプリケーションの設定で、出力オプションを設定可能(Release構成では、Traceだけ、Debug構成では Debug/Trace両方)

Write()の代わりにAssert(), Fail() , WriteIf()の表現も可能。

System.Diagnostics.Debug.WriteLine("コンソール");
System.Diagnostics.Trace.WriteLine("コンソール");

Tracing and Instrumenting Applications

[Conditional("DEBUG")] を関数の直前に書いたり、 #if DEBUG then #End Ifマクロのディレクティブを書いて、DEBUGのみ動作させることも可能。

マウス位置など連続的な位置を表現する。

2D表現をする。

画面上にGraphicsで記載する。
出力回数が多いものは、tooltipなどで表現できないため、Graphicalに表示したほうがわかりやすいです。時間軸やxy軸の表現についても、テキストだと限界があります。

※ファイルに記載する方法もありますね。

 

関連ページリンク

メソッド作成時に手を抜く方法(メソッドが引数、無名メソッド)【C#】

アプリケーションの設定を保存しておく方法【C#】 

座標操作のメソッドの使い分け【C#】

クリップボード操作方法の原則【C#】

アイコンイメージ3つの取得方法サンプルプログラム【C#】

キーエミュレート送信のまとめ【C#】【覚書メモ】

 

Delicious にシェア
Digg にシェア
reddit にシェア
LinkedIn にシェア
LINEで送る
email this
Pocket

1,026 views.



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です