問題タブ [form-control]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
258 参照

vb.net - UI スレッド セーフ

フォーム コントロールのプロパティを変更するときにスレッド セーフを確保するための最良の方法について何か提案はありますか? 私は私を使ってきました。過去に呼び出し、賛否両論、コメント、提案などがあるかどうか疑問に思っていました.

0 投票する
1 に答える
87 参照

.net - .NET でフォーム以外にトップ レベル ウィンドウを作成する方法はありますか?

フォームを使用せずにデスクトップに表示できるコントロールを作成する方法はありますか? たとえば、スプラッシュ ウィンドウを表示しますか? フォームを使用すると、ボーダーなどのないスプラッシュ ウィンドウを簡単に作成できることがわかっています。しかし、それはほんの一例です。Form に付随するすべての荷物を使わずに、トップ レベルのウィンドウを作成できるかどうかを知りたいです。

0 投票する
1 に答える
13183 参照

c# - C# ウィンドウ フォームのサイズを変更するときにウィンドウの再描画を防止する

ウィンドウがサイズ変更のすべてのピクセルを再描画するのを止めるために、どのウィンドウ メッセージまたはイベントを聞くことができますか?

つまり、ユーザーがウィンドウの端をクリックしてサイズ変更を開始すると、ユーザーが放すまでコンテンツ全体を再描画したくありません。これは、おそらくすべてが再ドッキングされているなどの理由で、何らかの理由で現在サイズ変更が途切れているためです。

WM_SIZING を試してみましたが、サイズが変更されていることがわかります。サイズ変更の開始と終了を知りたいので、ユーザーがサイズ変更を停止するまでレイアウトを一時停止できます。

0 投票する
3 に答える
27494 参照

c# - C#でWindowsフォームをドッキングする方法は?

ユーザー画面の上にWindowsフォームをドッキングできるかどうか知りたいのですが。フォームの位置を必要な座標に手動で設定することで、これを実行しようとしています。ただし、この方法を使用すると、ユーザーはフォームをドラッグするだけでフォームの位置を変更できます。このウィンドウフォームは、作成中のプロジェクトのメニューとして機能するため、フォームを画面の上部にドッキングさせたいと思います。

どうもありがとう。:)

0 投票する
2 に答える
1249 参照

c# - Windows フォームのフォーム移動イベント

私の問題は次のとおりです。アプリ内に状態マシンがあり、ユーザーが画面に沿ってフォームを移動している限り、現在の状態の ProcessInput 関数を一時停止できる必要があります。

それを行う状態に「一時停止」というプロパティがあり、フォームのOnMoveイベントをオーバーライドして、イベントが発生したときにプロパティがtrueに設定されるようにします。

ユーザーがフォームを移動しなくなったときに、状態の ProcessInput 関数を再開するにはどうすればよいですか? (具体的には、「state.Paused = false」を入れるイベントを探しています)

あなたの助けのために前もってThx!

0 投票する
1 に答える
304 参照

.net - フォームを展開すると黒い余白が表示されますか?

.net 2.0 Windows フォーム アプリを作成し、splitContainer ドッキングされた Fill を追加し、これをフォーム コンストラクターに追加します。

F5 を押します。フォームの右下端をつかみ、すばやくドラッグしてフォームを展開します。すべてのコントロールで作業が行われるため、フォームはかなりぎくしゃくして拡張されます。

同様に遅くなったいくつかの遅いコントロールを含むフォームを含むアプリがあります。違いは、私のアプリでは、マウスでフォームをドラッグすると、ギャップに一瞬醜い黒いスペースが表示されることです。ウィンドウが正しく再描画されていません。この醜い黒いスペースは、上記のサンプル コードには表示されません。

遅いフォームを展開するときに黒いスペースが表示される原因となるアイデアはありますか?

ダブルバッファリングを試しましたが、違いはありません。

編集:これを再現できるように、フォームを基本に分解しました。WindowsFormsApplication_SampleFault という新しい C# Windows フォーム アプリケーションを開始します。以下のコードを Form1.cs に貼り付けます

次に、これを Form1.Designer.cs に貼り付けます

F5 キーを押して、フォームをドラッグアウトしてみます。黒い領域を生成するために、意図的に再描画メカニズムをオーバーロードしていることに注意してください。

フォーム デザイナーのコードに何か問題があると思いますが、何が原因かわかりません。

0 投票する
2 に答える
3546 参照

c# - フォームとプロセスボタンのクリックを同時にアクティブにしますか?

C#でWindowsフォームを使用しています。

toolStripButtonsを含むいくつかのツールバーを備えたメインフォームがあります。データを含む別のフォームを操作した後、メインフォームはフォーカスを失い、toolStripButtonをクリックしてもOnClickイベントはトリガーされません。最初のクリックでメインフォームがアクティブになり、2回目のクリックで実際にボタンが押されます。Clickイベントをトリガーするためにユーザーがボタンを1回だけクリックする必要がありますが、その方法について何かアイデアはありますか?ありがとう。

ノート:

  • 私はMDIを使用していましたが、親のフォームボタンをクリックしても問題はありませんでした。しかし今、最も重要なのは、フォームを複数のディスプレイに自由に浮かせることです。
  • ワーカーフォームにはOwnerプロパティとしてメインフォームがあり、このようにしてメインフォームの上に留まります。
  • 非アクティブなフォームのボタンをクリックしても、MouseHover、MouseEnter、MouseDown、MouseUpのいずれも起動しません。発生するのは、メインフォームのActivateイベントです。
  • メインフォームには、treeView(tabControl内、splitContainer内、パネル内)があります。メインフォームが非アクティブであっても、そのアイテムは最初のマウスクリックで選択されます。すべてのコントロールが同じというわけではないと思います!
0 投票する
3 に答える
4650 参照

c# - 新しいインスタンスを開かずにフォームにデータを返す

一部のデータをForm2からForm1に返そうとしていますが、すべて正常に見え、データを取得したので、データをテキストボックスに渡そうとしても、テキストは変更されません。Form1の新しいインスタンスをForm2で開いた場合にのみ、機能します。なぜこれが起こるのですか?古いインスタンスにテキストを送信できませんか?

私はこのコードを使用しています。

Form1(メインフォーム)

Form2(ユーザーデータを含む2番目のフォーム)

だから、私の質問は、メインフォームの古いインスタンスにデータ値を渡すにはどうすればよいですか?新しいインスタンスを作成して新しいインスタンスを表示する必要はありません。これを行う方法はありますか?

0 投票する
2 に答える
1552 参照

c# - クラスライブラリ/ファイルから呼び出し元のウィンドウフォームを閉じる方法は? 呼び出し元のフォームにアクセスして .close() を実行する必要があります

私のwinformsプロジェクトには3つのフォームがあり、それらのすべてにForm2を開く同じコードを起動するボタンがあります。このコードを同じプロジェクト内のクラス ファイルに配置するか、別のクラス ライブラリに配置して、コードを一元化する必要があります。現在、コードは以下と同じフォーム内にあります。

このコードを Form1、Form2、Form3 から一般的なフォームに移動すると、呼び出し元のフォームにアクセスして行を置き換えることができませんthis.close(); Method.CallingForm.Close() のようなプロパティはありますか? 助けてください

フォームをパラメーターとして渡したくありません。フォームが重すぎて渡せません。他の代替案はありますか?

0 投票する
3 に答える
6902 参照

c# - Windows フォームが開いているが、別のウィンドウの後ろにあるかどうかをどのように判断しますか?

Form.Visible を呼び出すと、フォームが最大化されているか、最小化されているか、または FormWindowState が Normal であるかに関係なく、true が返されます。

私が知りたいのは、フォームが開いているが、別のアプリケーションのウィンドウの後ろに「隠されている」かどうかを確認する方法です。

だったら前面に出して、実際にユーザーに見えるようにしたい。

BringToFront() メソッドを試しましたが、うまくいきませんでした。Show() メソッドも呼び出してみましたが、フォームが別のアプリケーションのウィンドウの背後にある場合はそのままです。

この問題に対して私が見つけた唯一の回避策は、フォームの FormWindowState を Minimized/Maximized に設定してから通常に設定することですが、これはちょっとしたハックで、見栄えがよくありません。

フォームが別のウィンドウの後ろにあるかどうかを確認する方法と、フォームを前面に表示する方法を教えてもらえますか?