Windows Forms
デバッグモード(F5)でプロジェクトをビルドVS2010
すると、[出力ウィンドウ]というタイトルのウィンドウが表示されます。出力ウィンドウの上部には、「Find Message in Code
」、「Next Message
」 、「」のボタンがありますPrevious Message
。ただし、それらは常にグレー表示(無効)になっています。これらはどのようにして有効になりますか?
これらのボタンの目的は、出力ウィンドウにメッセージが表示される原因となったコード行を見つけるのに役立つことを期待しています。たとえばTrace.WriteLine("MyMessage");
、クライアントコードを記述した場合、実行すると' 'が;MyMessage
に表示されます。Output Window
出力ウィンドウでメッセージを選択して「Find message in Code
」をクリックすると、「」を含むクライアントコードの行に移動すると思いましたMyMessage
。これが有効になっていて、私の推測が正しければ、これは洗練された機能になります。残念ながら、有効にするボタンを取得できません。
この質問に答えるには、これらのボタンを有効にして使用する方法と、ベストプラクティスを適用する必要があるかどうかを説明してください(オプション)。
参照として使用するいくつかのソースコードを次に示します。プロジェクトを作成し、Windows Forms
以下に表示されている変更を加えると、私が試みていることを再現できます。
// program.cs
using System;
using System.Diagnostics;
using System.Windows.Forms;
namespace MyNamespace
{
internal static class Program
{
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
try
{
throw new ApplicationException("MyMessage");
Application.Run(new FormMain());
}
catch (ApplicationException e)
{
Trace.WriteLine(e.ToString());
}
}
}
}
JasonDの推奨
交換しました
Trace.WriteLine(e.ToString());
と
Trace.WriteLine("Program.cs" + "(" + 23 + ")" + " Some info");
JasonDソリューションの終了-結果:ボタンが有効になりました
それはそれを解決しました。そして、なんと予想外の答えでしょう。強く型付けされたすべての時代では、答えは文字列を魔法のメッセージでフォーマットすることに依存します。私はこれに驚いています。