안녕하세요 저는 주기율표를 만들고 있는데 원소기호, 원자량등을 그냥 form에다가 같이 넣으면 코드가 더러워질 것 같아서 elemetClass 클래스를 하나 만들어서 거기에다가 모든 정보를 저장한 뒤 Form에서 꺼내쓰고 싶으데요…
public void elementSymbol(int num)
{
string[] symbol = new string[] { “H”, “He”, “Li”, “Be” };
string symbolLabel = symbol[num];
}
이렇게 해서 배열을 만들었는데
symbolLabel이라는 것을 mainForm에서 출력을 하고 싶은데 어떻게 해야 하나요?
1개의 좋아요
class ElementClass
{
public string elementSymbol(int num)
{
string[] symbol = new string[] { "H", "He", "Li", "Be" };
return symbol[num];
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string element = "";
private void Form1_Load(object sender, EventArgs e)
{
ElementClass ec = new ElementClass();
element = ec.elementSymbol(2);
label1.Text = element;
}
}
이렇게 하시면 될 것 같습니다.
6개의 좋아요
친절한 설명 감사합니다!^^ 도움이 많이 되었습니다!
1개의 좋아요
근데 혹시 Form1_Load 말고 클릭 했을 때는 어떻게 하나요?
private void H_Click(object sender, EventArgs e)
{
element = ec.elementSymbol(0);
elements.Text = element;
elements.ShowDialog();
}
이렇게 했을때 ec.elementSymbol(0) 부분이 에러가 나네요 ㅠㅠ
1개의 좋아요
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
ElementClass ec = new ElementClass();
string element = "";
private void btnMsg_Click(object sender, EventArgs e)
{
element = ec.elementSymbol(2);
MessageBox.Show(element, "원소", MessageBoxButtons.OK);
}
}
대충 이런 식으로 구현 가능합니다.
2개의 좋아요
elements.Text = element;
메세지 박스말고 label에 넣을 수는 없나요?? 계속 질문해서 죄송해요ㅠㅠ
element = ec.elementSymbol(2);
이때 void형식을 암묵적으로 string 형식으로 변환할 수 없습니다. 라고 뜹니다…
1개의 좋아요
class ElementClass
{
public string elementSymbol(int num)
{
string[] symbol = new string[] { "H", "He", "Li", "Be" };
return symbol[num];
}
}
using System;
using System.Windows.Forms;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string element = "";
ElementClass ec = new ElementClass();
private void btnMsg_Click(object sender, EventArgs e)
{
element = ec.elementSymbol(2);
label1.Text = element;
}
}
3개의 좋아요
마지막으로 여쭤볼 것이 있는데… Table 클래스에서 Element클래스의 라벨에 접근할 수 있나요? Table에서 Element의 Label.text를 사용할 수 있나요?
1개의 좋아요