- - PR -
メッセージボックスを一つのタスクバー内で表示する方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-11-18 18:39
環境:WindowsVista/VS2005/C#
初めて投稿させて頂きます。 タスクバー上にアイコンを表示しないように、FORMプロパティのShowInTaskbarにFalseを設定しているのですが、以下のような動作をするとタスクバーが表示されたり、しなかったりします。 ・ボタンだけのFORMを作り、以下のコードを貼り付ける private void button1_Click(object sender, EventArgs e) { MessageBox.Show("処理を開始します!", "TEST", MessageBoxButtons.OK); try { Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory( @"C:\A", @"C:\B", Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.ThrowException); } catch (Exception ex) { MessageBox.Show("aaaaaaaaaaaaaaaa" + ex.Message); } MessageBox.Show("処理終了です!"); this.Close(); } ■Bフォルダが空の場合は、コピー中のダイアログのみタスクバーに表示される。 ■BフォルダにAフォルダのファイルと同じものがある場合、上書きメッセージが表示され、以後のメッセージボックスがタスクバーに表示される。 (キャンセル時のメッセージもタスクバーに表示されます) タスクバーにメッセージを表示しないようにすることは可能なのでしょうか? 色々と検索してみましたが、分かりませんでした。 解決方法が分かられる方がいらっしゃいましたら、ご教授頂けないでしょうか。 宜しくお願いします。 | ||||
|
投稿日時: 2008-11-18 20:38
Form の ShowInTaskbar プロパティはその設定した Form (のインスタンス) のみで適用されるものです。 つまりその Form で実行された処理によって OS (Windows) が表示するダイアログとは何ら関連がないと思いますが... .NET Framework とオペレーティング システムの領分を誤解していませんでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-11-19 09:18
じゃんぬねっと様、返信ありがとうございます。
ご指摘の通り、「.NET Framework とオペレーティング システムの領分」の部分に相当するものだと思ってはいるのですが・・・ FileSystem.CopyDirectoryが実行された時に別のタスクバーが表示されるのは分かるのですが、通常実行時は、FileSystem.CopyDirectoryが終了した後のメッセージはタスクバーに表示されず、キャンセルを行った時だけ、その後のメッセージが別タスクバーに表示される現象が何でなのだろうかと思った次第です。 キャンセル後のメッセージ表示はOS側の制御になってしまっているのでしょうか。 この辺が上手く理解できません。 |
1