teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

追記です

2021/09/23 12:56

投稿

yal
yal

スコア41

title CHANGED
File without changes
body CHANGED
@@ -6,6 +6,17 @@
6
6
  メインのformでサブformでイベントが起きたことを受け取れなくて困っています.
7
7
  ご助言よろしくお願いします.
8
8
 
9
+ 追記です。
10
+ fanaさんのmainフォームで関数を書いて、subフォームでボタンが押されるイベントと紐付けた関数がmainの関数を呼び出して処理するという方法でできました。
11
+
12
+ 皆様ありがとうございます。
13
+ 一応できたのですが、
14
+ しかし、お二人のsubフォームのボタンのModifiersをpublicにして
15
+ mainフォームに書いてある関数にクリックイベントを紐付けるっていうのができないのですが、
16
+ これはインスタンスに失敗しているのでしょうか。
17
+ プロパティのイベントにmainフォームに書いた関数が現れません...
18
+ コードですべて紐付けているのでしょうか...?
19
+
9
20
  ### 発生している問題・エラーメッセージ
10
21
 
11
22
  ```
@@ -15,7 +26,72 @@
15
26
  ### 該当のソースコード
16
27
 
17
28
  ```C#
29
+ using System;
30
+ using System.Collections.Generic;
31
+ using System.ComponentModel;
32
+ using System.Data;
33
+ using System.Drawing;
34
+ using System.Linq;
35
+ using System.Text;
36
+ using System.Threading.Tasks;
37
+ using System.Windows.Forms;
38
+ using System.Data.SQLite;
39
+ using System.Diagnostics;
40
+ using System.Text.Json;
18
41
 
42
+ namespace cs_launcher_1
43
+ {
44
+ public partial class murrelet : Form
45
+ {
46
+ public static DataTable dataTable = new DataTable();
47
+ subF subF = new subF();
48
+
49
+ public murrelet()
50
+ {
51
+ InitializeComponent();
52
+
53
+ }
54
+
55
+ private void murrelet_Load(object sender, EventArgs e)
56
+ {
57
+ this.Text = "murrelet";
58
+ using (SQLiteConnection con = new SQLiteConnection("Data Source = test.db"))
59
+ using (SQLiteDataAdapter adapter = new SQLiteDataAdapter("SELECT * FROM food", con))
60
+ {
61
+ adapter.Fill(dataTable);
62
+ dataGridView1.RowHeadersVisible = false;
63
+ dataGridView1.Columns[0].Visible = false;
64
+ dataGridView1.Columns[6].Visible = false;
65
+ con.Close();
66
+ }
67
+ }
68
+
69
+
70
+
71
+ public void esidButton_click(object sender,EventArgs e)
72
+ {
73
+ this.subF.esid = this.esidAdd.textBox1.Text;
74
+ this.toolStripStatusLabel1.Text = this.subF.id;
75
+
76
+ this.subF.Visible = false;
77
+ }
78
+
79
+ public void button1_Click(object sender,EventArgs e)
80
+ {
81
+ esidAdd.button1.Click += mainF;
82
+ }
83
+
84
+ public void mainF(object sender,EventArgs e)
85
+ {
86
+ this.toolStripStatusLabel1.Text = "検知成功";
87
+ }
88
+
89
+ public static void TheProcess()
90
+ {
91
+ Console.WriteLine("成功");
92
+ }
93
+ }
94
+ }
19
95
  ```
20
96
 
21
97
  ### 試したこと