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

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

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

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

Q&A

0回答

808閲覧

Just in timeを表示させない

Tuminokoe

総合スコア2

C#

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

0グッド

0クリップ

投稿2021/12/16 05:43

編集2021/12/16 06:19

c#の学習を始めて1ヶ月の初心者です。

サイト元にwindowsフォームアプリケーションの勉強をしています。

デバッグしたところ、button以外の余白の部分を押した際に下記の新しいForm1が作られ、詳細を押すと下記の文が表示されます。

JITを表示させない方法についてご教授頂きたいです。

よろしくお願いいたします。

c#

1 2using System; 3using System.Collections.Generic; 4using System.ComponentModel; 5using System.Data; 6using System.Drawing; 7using System.Linq; 8using System.Text; 9using System.Threading.Tasks; 10using System.Windows.Forms; 11 12namespace dentaku 13{ 14 public partial class Form1 : Form 15 { 16 double change; 17 // 入力された数字 18 string Input_str = ""; 19 20 // 計算結果 21 double Result = 0; 22 23 // 押された演算子 24 string Operator = null; 25 26 public Form1() 27 { 28 InitializeComponent(); 29 } 30 31 //数字ボタンの処理 32 private void Form1_Click(object sender, EventArgs e) 33 { 34 // senderの詳しい情報を取り扱えるようにする 35 Button btn = (Button)sender; 36 37 // 押されたボタンの数字(または小数点の記号) 38 string text = btn.Text; 39 40 // [入力された数字]に連結する 41 Input_str += text; 42 43 // 画面上に数字を出す 44 textBox1.Text = Input_str; 45 } 46 47 private void Form1_Click_1(object sender, EventArgs e) 48 { 49 // 現在の結果を表示 50 double num1 = Result; 51 52 // 入力された文字を表示 53 double num2; 54 55 // 入力された文字が空欄なら計算をスキップ 56 if (Input_str != "") 57 { 58 // 入力した文字を数字に変換 59 num2 = double.Parse(Input_str); 60 61 //四則計算 62 if (Operator == "+") 63 Result = num1 + num2; 64 if (Operator == "-") 65 Result = num1 - num2; 66 if (Operator == "*") 67 Result = num1 * num2; 68 if (Operator == "/") 69 Result = num1 / num2; 70 // 演算子を押されていなかった場合、入力されている文字をそのまま結果扱いにする 71 if (Operator == null) 72 Result = num2; 73 } 74 75 //計算結果を表示 76 textBox1.Text = Result.ToString(); 77 78 // 今入力されている数字をリセットする 79 Input_str = ""; 80 81 // 演算子をOperator変数に入れる 82 Button btn = (Button)sender; 83 Operator = btn.Text; 84 if (Operator == "=") 85 Operator = ""; 86 } 87 88 private void radioButton1_CheckedChanged(object sender, EventArgs e) 89 { 90 double change = Result * 110; 91 textBox1.Text = change.ToString(); 92 } 93 94 private void radioButton2_CheckedChanged(object sender, EventArgs e) 95 { 96 double change = Result / 110; 97 textBox1.Text = change.ToString(); 98 } 99 } 100} 101

c#

1 2Just-In-Time (JIT) デバッグを呼び出すための詳細については、 3ダイアログ ボックスではなく、このメッセージの最後を参照してください。 4 5************** 例外テキスト ************** 6System.InvalidCastException:'dentaku.Form1' のオブジェクトを型 'System.Windows.Forms.Button' にキャストできません。 7 場所 dentaku.Form1.Form1_Click_1(Object sender, EventArgs e) 場所 C:\Users\r_sat\source\repos\pj_job_\dentaku\Form1.cs:81 8 場所 System.Windows.Forms.Control.OnClick(EventArgs e) 9 場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 10 場所 System.Windows.Forms.Control.WndProc(Message& m) 11 場所 System.Windows.Forms.ScrollableControl.WndProc(Message& m) 12 場所 System.Windows.Forms.Form.WndProc(Message& m) 13 場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 14 場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 15 場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 16 17 18************** 読み込まれたアセンブリ ************** 19mscorlib 20 アセンブリ バージョン:4.0.0.0 21 Win32 バージョン:4.8.4420.0 built by: NET48REL1LAST_C 22 コードベース:file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll 23---------------------------------------- 24dentaku 25 アセンブリ バージョン:1.0.0.0 26 Win32 バージョン:1.0.0.0 27 コードベース:file:///C:/Users/r_sat/source/repos/pj_job_/dentaku/bin/Debug/dentaku.exe 28---------------------------------------- 29System.Windows.Forms 30 アセンブリ バージョン:4.0.0.0 31 Win32 バージョン:4.8.4400.0 built by: NET48REL1LAST_C 32 コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll 33---------------------------------------- 34System 35 アセンブリ バージョン:4.0.0.0 36 Win32 バージョン:4.8.4360.0 built by: NET48REL1LAST_C 37 コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll 38---------------------------------------- 39System.Drawing 40 アセンブリ バージョン:4.0.0.0 41 Win32 バージョン:4.8.4390.0 built by: NET48REL1LAST_C 42 コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll 43---------------------------------------- 44System.Configuration 45 アセンブリ バージョン:4.0.0.0 46 Win32 バージョン:4.8.4190.0 built by: NET48REL1LAST_B 47 コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll 48---------------------------------------- 49System.Core 50 アセンブリ バージョン:4.0.0.0 51 Win32 バージョン:4.8.4455.0 built by: NET48REL1LAST_C 52 コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll 53---------------------------------------- 54System.Xml 55 アセンブリ バージョン:4.0.0.0 56 Win32 バージョン:4.8.4084.0 built by: NET48REL1 57 コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll 58---------------------------------------- 59mscorlib.resources 60 アセンブリ バージョン:4.0.0.0 61 Win32 バージョン:4.8.4084.0 built by: NET48REL1 62 コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/mscorlib.resources.dll 63---------------------------------------- 64System.Windows.Forms.resources 65 アセンブリ バージョン:4.0.0.0 66 Win32 バージョン:4.8.4084.0 built by: NET48REL1 67 コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll 68---------------------------------------- 69 70************** JIT デバッグ ************** 71Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、 72またはコンピューター (machine.config) の構成ファイルの jitDebugging 73値を system.windows.forms セクションで設定しなければなりません。 74アプリケーションはまた、デバッグを有効にしてコンパイルされなければ 75なりません。 76 77: 78 79<configuration> 80 <system.windows.forms jitDebugging="true" /> 81</configuration> 82 83JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、 84ハンドルされていない例外はすべてコンピューターに登録された 85JIT デバッガーに設定されなければなりません。

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

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

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

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

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

m.ts10806

2021/12/16 05:47

環境構成やデバッグの手順を提示してください。 意味ならGoogle翻訳で良いのでは?
Tuminokoe

2021/12/16 05:53

対応していただきありがとうございます。 環境構成?はvisual studio 2019です。 デバッグの手順については、ctrl+f 5 で実行しています。 説明不足で申し訳ありません。
退会済みユーザー

退会済みユーザー

2021/12/16 05:58

> デバッグの手順については、ctrl+f 5 で実行しています。 それはメニューバーから[デバッグ(D)]⇒[デバッグなしで実行(H)]です。デバッグしたいのではないのですか? 何をしたいのですか?
m.ts10806

2021/12/16 05:59

質問は編集できるので。
dodox86

2021/12/16 06:02

エラーメッセージを表示させないようにするのではなく、適切なコードを書けば良いだけな気がします。 > System.InvalidCastException: 型 'dentaku.Form1' のオブジェクトを型 'System.Windows.Forms.Button' にキャストできません。 場所 dentaku.Form1.Form1_Click_1(Object sender, EventArgs e) 場所 C:\Users\r_sat\source\repos\pj_job_\dentaku\Form1.cs:行 81
m.ts10806

2021/12/16 06:02

タイトルも調整したほうが良いですね。「翻訳すれば?」としか言えませんし
m.ts10806

2021/12/16 06:04

それに「表示させない」とは何に対して言ってるのか不明です。JITの話?デバッグエラーの話? 「出ているエラーを直したい」ならそのように書いてください。ただその場合、コードが提示されてないので「エラーのとおりなのでしょう」としか言えません。
Tuminokoe

2021/12/16 06:15

皆さん、丁寧な対応ありがとうございます。 初心者な為、説明不足が多く申し訳ありません。 編集の方をさせていただきました。 よろしくお願いいたします。
m.ts10806

2021/12/16 06:21

「文言が出ないように」ならデバッガ変えるしかないのでは。
Tuminokoe

2021/12/16 06:23

対応していただきありがとうございます。 81.82行目を消すと表示されなくなりました。(計算結果も反映されない) この事から、81.82行目に何か追加するべきなのでしょうか。
m.ts10806

2021/12/16 06:38

質問内容調整してください。 あくまで「実行時エラーの解決」であってJIT自体の表示の問題ではありません。デバッガそのものですから。 質問本文にコードを提示してください。他者が再現できる程度のものでないとなんとも言えませんので
退会済みユーザー

退会済みユーザー

2021/12/16 06:57

読みましょう→ https://teratail.com/help/question-tips 特に以下の部分: "人に質問をするには、自分が何を尋ねたいかを知っている必要があります。これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」ということです。一見簡単なようですが、実はとても難しいことです。何がわからないかわからない人から質問を受けても、答える側も困ってしまいます。"
dodox86

2021/12/16 07:24

> デバッグしたところ、button以外の余白の部分を押した際に下記の新しいForm1が作られ、詳細を押すと下記の文が表示されます。 「作られ」とありますが、自分でそういう動きになるようにプログラミングしたのではないのですか? SurferOnWwwさんの指摘にも重なりますが、まず自分が何をしようとしているのか目的をはっきりさせましょう。他サイトで見つけたコードを参考にしているのであれば、そのもとのコードを理解しましょう。ボタン以外の余白部分をクリックすると新しいフォームを出現させる、という動き自体が、一般的には少し妙です。(絶対に無い、悪い、という訳ではありません)
Zuishin

2021/12/16 12:34

> Button btn = (Button)sender; Button ではないものを Button 型にキャストしているためです。 クリックされたのはボタンではなくフォームなので、Button 型にはできません。
Zuishin

2021/12/17 06:46

新しい方の質問を見て思ったこと。 悪いけど、字が読めない人はプログラミングできないんだわ。 いくら頑張っても。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問