質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

0回答

533閲覧

process.startを使用したときのフォームの表示方法

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2020/09/21 17:50

編集2020/11/13 02:28

前提・実現したいこと

### 補足情報(FW/ツールのバージョンなど) C# VisualStudio2019 .NetFramework4.7.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/09/21 23:29 編集

> process.startで起動された②のフォームと、ある条件で表示された②のフォームはもしかして別物? 「ある条件で表示」とはどういうことでしょう? どのようにして表示するのかできるだけ具体的に説明していただけませんか?
退会済みユーザー

退会済みユーザー

2020/09/21 23:35

コメントありがとうございます。 ファイル名を検索して、ヒットしたファイルの内容を表示させています。
退会済みユーザー

退会済みユーザー

2020/09/21 23:44 編集

その説明ではわからないです。 コードを見れば分かると言うことなのかもしれませんが、コードを読むのは閲覧者には負担が大きいのです。実際自分はまだ読んでません。 コード読めば分かるというなら、せめて「ある条件で表示」というのはどの行か分かるように書いてください。
Zuishin

2020/09/22 00:10

書き換えてから FileSystemWatcher を作ってるんじゃないですか? インデントがおかしいから気づきにくいけど、これ二つのメソッドを一つのメソッドのように書いてますよね? 妙な書き換えをしてデバッグもせず載せるんじゃなくて、回答者の手元で完全に動く最小限のコードを新しく作って書いてください。それで問題解決できたら自分のコードに反映させればいいんです。
退会済みユーザー

退会済みユーザー

2020/09/22 00:27

SurferOnWww様 分かりにくい質問となってしまい申し訳ございません。コードにそれぞれコメントを記載してみました。「条件」については②のプロジェクトのコードに書いております。
dodox86

2020/09/22 00:59

求める動作をしない大きな原因はZuishinさんのご指摘のとおりだと考えますが、ご提示のコードもインデントが崩れていて回答、閲覧者には読みづらいです。それだけでも回答は離れていきます。コードの整形はVisual Studioでできますので、きれいに直しましょう。Visual Studioのメニューから「編集(E)」> 「詳細(V)」>「ドキュメントのフォーマット(A)」、です。
退会済みユーザー

退会済みユーザー

2020/09/22 01:16

Zuishin様 コメントありがとうございます。「二つのメソッドを一つのメソッドのように」とはどの部分でしょうか。
退会済みユーザー

退会済みユーザー

2020/09/22 01:18

dodox86様 コメントありがとうございます。Zuishin様からいただいたコメントをもとにコードを確認中です。 見直してみましたらコードが崩れていますね。。すみません。気を付けます。
Zuishin

2020/09/22 01:37 編集

> 「二つのメソッドを一つのメソッドのように」とはどの部分でしょうか。 その前に、このコードをそのまま Visual Studio に写してコンパイルできますか? もちろん、デザイナ部分などわかりきったところはこちらでも補完できますが、元々のコードでミスをしているのか、それとも改変してこちらに書き写した段階でミスが混入したのかはこちらではわかりません。それでは問題の特定が困難です。 たとえば、明らかにコンパイルが通らないコードだった場合、そのコードを調べるよりも「実際にそのコードがコンパイル対象になっているのか」を調べた方が早いです。掲載したものとは違うコードをコンパイルしていたなんてことは、初心者にはよくあることですし、他にも色々と考えられる原因を全部潰していかなければいけません。 なので、指摘を受けた部分をこの teratail 上だけで編集するのではなく、すでに書きましたが、回答者の手元で完全に動く最小限のコードを新しく作り、それがコンパイル・実行可能で、問題が再現することを確かめた上で、それを掲載してください。 そうでなければ、実際のコードと teratail 上のコードの乖離が大きくなり、本当の原因がわかりません。 とりあえず不可解なのは、FileSystemWatcher を同じメソッドで二回作っていることと、余分なブレイスが混ざっていることで、その原因を私は、実際のコードと違うものを掲載しているからと推測しました。 あとはそれを潰してからの話なので、それ以上細かくは見ていません。
退会済みユーザー

退会済みユーザー

2020/09/22 02:05 編集

> コードにそれぞれコメントを記載してみました。「条件」については②のプロジェクトのコードに書いております。 以前として分からないのですが。 質問に書いてあるように、問題は「4.②のフォームが閉じられない」で、質問者さんは以下のことがその問題の原因と推定しているのですよね。 > process.startで起動された②のフォームと、ある条件で表示された②のフォームはもしかして別物? 前者は Form1_Load メソッド内で process.Start() で起動されたプロセスらしいと想像していますが、後者の「ある条件で表示」というのはどういうことか分かりません(少なくとも自分には)。 それが分からないと前者と後者で何が違うのか分からない。分からないから「別物」かどうかとかは分からないし、そこで思考停止してそれ以上考える気力がなくなります。 また前のスレッド https://teratail.com/questions/278253 の時のような見当違い&意味不明となっていて話が通じてないような気がします。 上のコメントで Zuishin さんが指摘されているように、問題を再現できる必要最低限のサンプルを作って質問を書き直してください。
退会済みユーザー

退会済みユーザー

2020/09/22 02:15

皆様、ありがとうございます。 再現用のサンプルを作成中です。完成しましたら質問文を編集いたします。
退会済みユーザー

退会済みユーザー

2020/09/22 02:23 編集

> process.startで起動された②のフォームと、 何故そういうこと(process.startで起動)をする必要があるのか分かりませんが、可能ならば Form1 と Form2 は同じプロジェクト内に作って、Form1 から Form2 を初期化して表示すべきと思います。 サンプルを作る際に、それも検討してはいかがですか?
Zuishin

2020/09/22 04:18

管理者権限に上げるときに Process.Start を使いますね。その辺りに問題が潜んでいるのかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問