2011-07-31 4 views
1

私は説明します:私は別のアプリケーションから使用したいフォームを持っています。 しかし、コマンドはフォーム上のボタンを使用しています。このボタンは、ユーザーには見えないようにしたい(別のターゲットなどにメッセージを送信します)。呼び出し他のアプリケーションの前にフォームがユーザーに表示されないで使用できますか?

+0

これはWindowsで目的を問わず難しくなっており、正当な理由があります。このような技術はパスワードを盗むために使用できます。フォームを透明にすることはできますが、不透明度が0.3未満の場合は入力を受け取りません。 –

+0

私はあなたがすでにそれを試してきたので私の答えを削除しました。私は可能な回避策を提案しましたが、それほどエレガントではありませんでした(そしてうまくいきませんでした)。あなたは@ user871332がその答えにお勧めするアプローチを見てみるべきだと思います。 – Tim

答えて

1

、ちょうど

Private void MakeInvisible() 
{ 
    this.Hide(); 

    // application call code 

} 

それを隠すには、私はあなたが実際にそれを示すことなく、Formの後ろにコードを使用したいと思って、あなたに

+0

もう一度、一度それを隠すと、ボタンのハンドラを呼び出そうとすると、プログラムの関心事までは存在しません。 – Daniel

3

ありがとうございます。あなたの目的に使用できる別のクラスでコードをリファクタリングしてみてください。

+0

私はそれが最善の選択肢になると思いますが、私は本当に大きなプロジェクトと最小限の時間から回避策を探しています。うまくいけば、この作業を終えた後、プロジェクトをより良くするための時間がかかります。 – Daniel

0

フォームをディスプレイの表示領域外に移動しようとする可能性があります。たとえば、その場所を(-1024,0)に設定します。ユーザーが複数のディスプレイを持っていない限り、

0

フォームを非表示にする必要がない場合は、クラスを使用する必要があります。

this.Opacity = 0; 
    this.ShowInTaskBar = false; 
関連する問題