問題タブ [formclosing]

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 に答える
1050 参照

vb.net - VB.NET を閉じるフォームで DataGridView の保存されていない変更を検出する

こんにちは、データ ソースのデータ テーブルを持つ DataGridView があります。DataTable.GetChanges() メソッドを使用する関数があり、フォームがまだアクティブなときに関数を実行するとうまく機能します。ただし、フォームを閉じたときに保存されていない変更をチェックするように、その関数をフォームの終了イベントに入れましたが、何らかの理由で、終了メソッドから実行すると、常に変更なしで戻ってきます。

関数を実行して変更を取得する前に、閉じるときにデータ ソースが自動的に破棄されていると推測しています。

データソースが破棄されないようにする方法はありますか? フォームを閉じるイベントで e.Cancel=True を実行してから関数を実行しようとしましたが、まだ機能しません。

これについての助けをいただければ幸いです。

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

c# - File.ReadAllText により、フォームが x ボタンのクリックで閉じられなくなります

奇妙な問題があります。表示されている textBox.Text を FormClosing (フォームがシャットダウンする直前) の "ini" ファイルに書き込みたいので、メイン フォームの [プロパティ] パネルでそのイベントをダブルクリックし、関連する関数を次のように入力しました。

フォームは問題なく起動しますが、×ボタンで終了しません。File.WriteAllText 行をコメントアウトした場合にのみ、正しく閉じます。デバッグを停止しただけでは、ファイルの内容も変わりません。

編集 :

実際の問題は、ini ファイルから userName を見つけて返すために使用した関数でした。

ini ファイルの内容:

ユーザー名 = SomeName

ボット名 = SomeName

上記の関数をstackoverflowからコピーしました。思い通りに「SomeName」を捉えてくれたので、うまくいくと確信しました。ここで、ini ファイルで 'User Name =' を検索し、その直後のテキストを返す別の関数 (これも stackoverflow から) を使用します。

問題は、それが返されることです

SomeNameBot Name = SomeName

string result1行だけに制限する方法に関するヒントはありますか? よろしくお願いします!

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

c# - フォームがまだ開いている別のフォームから閉じていることを検出する方法は?

フォームが別のフォームから閉じられていることをどのように検出できるのか疑問に思っています。たとえば、メインクライアントに送信者と呼ばれる別のフォームを開かせたとします。送信者フォームがメインクライアントフォームから閉じていることをどのように検出しますか?

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

c# - C# で OnFormClosing() メソッドを正しくオーバーライドする方法

「検索」というボタンがあるフォームがあります。クリックすると、アイテムを検索するための別のフォームが開きます。ユーザーがこの 2 番目のフォームの X をクリックして閉じる場合、実際には閉じたくありません。(by によってsecondForm.visible = false) 非表示にしたいだけです。

必要なのはメソッドをオーバーライドすることだけであることがわかりましOnFormClosing()た。フォームクラスで実行しましたが、まったく実行されません。次に「検索」ボタンがクリックされたときに(実行new SecondForm()しようとするのではなく)、削除されたオブジェクト( )または何かsecondForm.visible = trueで作業できないという例外が発生するため、実行されないことがわかっていますsecondFormそのように。したがって、2 番目のフォームは表示されていないのではなく、閉じられています。

この時点で、私が必要としているのは、何らかの方法で (これは明らかにわかりません)、この新しいオーバーライド メソッドをボタン X に割り当てることだと考え始めています。

編集:

これは、クラスから 2 番目のオーバーライドされたメソッドです。

これは、「検索」ボタンがクリックされたときに行うことです。

最後に、私が得る例外はObjectDisposedException. 正確なメッセージは次のようなものです(正しく翻訳しているかどうかはわかりません)ObjectDisposedException was unhandled. Cannot get access to the deleted object. Name of the object: SubForm.

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

c# - ロード画面が閉じない

作業中に読み込み画面を表示しようとしています。私の仕事は、一度に 1 つのファイルを 1 つのセルから別のセルに移動することです。コードは完全に機能しています。しかしwhen i am trying to move a group of files the loading screen is coming and after job its stuck for 20-30 seconds

私は解決策を見つけました:its because after all the files are moved to the next column, my control is going to dataGridView1_DataBindingComplete グリッドセルが私の状態に基づいて色を与えているのは、dataGridView1_DataBindingCompleteその作業を完全に削除したときです..しかし、私も色を与える必要があります..この状況にどう対処できるか教えてください.

コード:

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

c# - 散在ログイン フォームとメイン フォーム間の遅延を解消する方法はありますか?

hereの提案に従って、プロジェクトの Main メソッドでログインフォームを次のように作成します。

ログイン フォームには、[OK] と [閉じる] の 2 つのボタンがあります。

これはかなりうまく機能しますが、ログイン フォームが閉じてからメイン フォームが表示されるまでの間に明確な遅延があります。間隔があまり目立たないように、このギャップを埋める方法はありますか?

アップデート

これを置き換える:

...これとともに:

... Program.cs では、次のようになります。

ログイン フォームの [OK] ボタンをクリックすると、アプリが閉じます (メイン フォームは表示されません)。

ログイン フォームの [閉じる] ボタンをクリックすると、ログイン フォームのすべてのコントロールが消えますが、フォームはそのままです...?!?

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

c# - アプリケーションを閉じると、Form1_FormClosing イベントが妨げられます

フォームの読み込み時に、アプリケーションがデータベースに接続できるかどうかを確認しようとしています。接続できない場合は、素敵なメッセージを含むメッセージ ボックスを表示して、アプリケーションを閉じます。私が抱えている問題は、アプリケーションを閉じようとすると、「アプリケーションを終了するかどうか」を尋ねる Form_closing イベントにヒットすることです。アプリケーションにアクセスできないユーザーにとっては、ちょっと奇妙に見えます/メッセージ ボックスを表示するには、データベースを選択します。フォームを閉じるイベントをスキップしてフォームを閉じたいだけです。どんな助けでも大歓迎です。