C# を現在VisualStudio を使わずに書いています。
プロジェクトには以下のファイルがあります。
- main.cs
- Form1.cs ←どちらもクラス名は同じ
- Form1D.cs ←どちらもクラス名は同じ
Form1内でForm1Dにて記述したTextBoxのtextから値を拾おうとしたところ、Form1.csからはcomは現在のコンテキスト内に存在しません。と出てきてしまいます。("com"はFormD.cs内で記述したTextBoxのこと)VisualStudioでFormアプリケーションを作る時と同じように記述しているのに何故アクセスできないのでしょうか??
お助け下さい!!
C#
1//main.cs 多分関係ない 2using System; 3using System.CodeDom; 4using System.CodeDom.Compiler; 5using System.Reflection; 6using System.Windows.Forms; 7using System.Drawing; 8namespace IotSample 9{ 10 static class main 11 { 12 [STAThread] 13 static void Main() 14 { 15 Application.EnableVisualStyles(); 16 Application.SetCompatibleTextRenderingDefault(false); 17 Application.Run(new Form1()); 18 } 19 } 20}
C#
1//Form1.cs 2using System; 3using System.CodeDom; 4using System.CodeDom.Compiler; 5using System.Reflection; 6using System.Windows.Forms; 7using System.Drawing; 8namespace IotSample 9{ 10 public partial class Form1 : Form 11 { 12 public Form1() 13 { 14 InitializeComponent(); 15 } 16 private void Form1_Load(object sender, EventArgs e) 17 { 18 } 19 private void Open_Click(object sender, EventArgs e) 20 { 21 com.Text = "aaa"; //←ここでCS103 22 23 } 24 } 25}
C#
1//Form1D.cs このコードは自分のソフトで生成したので汚いです。 2using System; 3using System.CodeDom; 4using System.CodeDom.Compiler; 5using System.Reflection; 6using System.Windows.Forms; 7using System.Drawing; 8namespace IotSample 9{ 10public partial class Form1 : Form 11{ 12public void InitializeComponent(){ 13ClientSize = new Size(500,600); 14this.Text = "Form2"; 15this.Load += new System.EventHandler(this.Form1_Load); 16TextBox com = new TextBox(); 17com.Name = "com"; 18com.Location = new Point(62,23); 19this.Controls.Add(com); 20 21 22Label coml = new Label(); 23coml.Name = "coml"; 24coml.Location = new Point(25,27); 25coml.Text = "COM"; 26this.Controls.Add(coml); 27TextBox text = new TextBox(); 28text.Name = "text"; 29text.Location = new Point(18,90); 30text.Size = new Size(200,200); 31this.Controls.Add(text); 32 33 34Button Open = new Button(); 35Open.Name = "Open"; 36Open.Location = new Point(177,22); 37Open.Text = "Open"; 38Open.Click += new System.EventHandler(Open_Click); 39this.Controls.Add(Open); 40Button ledON = new Button(); 41ledON.Name = "ledON"; 42ledON.Location = new Point(27,56); 43ledON.Text = "ledON"; 44this.Controls.Add(ledON); 45Button ledOFF = new Button(); 46ledOFF.Name = "ledOFF"; 47ledOFF.Location = new Point(113,55); 48ledOFF.Text = "ledOFF"; 49ledOFF.Click += new System.EventHandler(ledOFF_Click); 50this.Controls.Add(ledOFF); 51} 52} 53} 54
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。