<질문내용>
안녕하세요. 처음 시작하는 초보입니다.
설명이 좀 애매할지도 모르겠으나.. 우선 질문 한번 드려볼께요..
compact framework 2.0이고 mobile 6.0 pro 에뮬로 테스팅을 하고 있습니다.
우선 Form이 2개가 있습니다.
Form1에는 예를 들어 소녀시대의 멤버 이름이 적힌 9개의 버튼이 있구요
각 버튼을 누르면 Form2로 넘어가면서 각 멤버에 대한 프로필 (이름, 나이, 키, 사진)이 나오는
순서의 애플을 만들어 보려고 하는데요.
아래 제가 9개의 멤버들의 정보를 배열에 담아 Form2으로 값을 넘겨 각각의 프로필을
나타내게 끔하려고 소스를 넣어 두겠습니다.
총 9개의 배열이 있는데. 한 배열에 프로필 내용을 다 담고 싶은데 잘 안되더라구요 ㅠㅠ
그리고 Form1 소스 아랫쪽에 보심 Form2로 sender 하는 부분이 있는데
Form2에서 이값을 어떻게 받아서 출력을 해주어야 하는지 잘 모르겠습니다.
힌트나 참고 할수있는 소스를 공유 주시면 너무 감사드리겠습니다.
관련소스/참고자료
Form1.cs
namespace FormLectureNew
{
public partial class Form1 : Form
{
String[] memberArray = new String[9];
int CheckNum;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
int SHeight = SystemInformation.MenuHeight; //MainMenu 세로 길이
Size rect = Screen.PrimaryScreen.WorkingArea.Size; //작업 영역 Widht, height
int WWidth = rect.Width; //작업 영역 가로길이
int WHeight = rect.Height-SHeight; //작업 영역 세로길이
Sosimember member1 = new Sosimember("윤아",10,150,40,"yuna.gif");
Sosimember member2 = new Sosimember("수영",20,160,41,"suy.jpg");
Sosimember member3 = new Sosimember("효연",30,161,42,"hy.gif");
Sosimember member4 = new Sosimember("유리",31,162,43,"yuri.gif");
Sosimember member5 = new Sosimember("태연",25,166,33,"ty.gif");
Sosimember member6 = new Sosimember("제시카",26,120,20,"jesica.gif");
Sosimember member7 = new Sosimember("티파니",27,130,25,"tipany.gif");
Sosimember member8 = new Sosimember("써니",22,166,50,"seoni.gif");
Sosimember member9 = new Sosimember("서현",23,168,47,"seoh.gif");
memberArray[0] = member1.Name;
memberArray[1] = member2.Name;
memberArray[2] = member3.Name; //위의 memer1~9의 값을 한번에 담고 싶은데 안되네요. ㅠㅠ
memberArray[3] = member4.Name;
memberArray[4] = member5.Name;
memberArray[5] = member6.Name;
memberArray[6] = member7.Name;
memberArray[7] = member8.Name;
memberArray[8] = member9.Name;
for(int i =0 ; i < memberArray.Length ; i++)
{
Button button = new Button();
button.Text = memberArray[i];
button.Location = new Point(0, (WHeight/memberArray.Length)*i);
button.Size = new Size(WWidth, WHeight/memberArray.Length);
button.ForeColor = Color.SteelBlue;
button.BackColor = Color.White;
button.Click += new EventHandler(button_Click);
Controls.Add(button);
}
}
void button_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
for (int i = 0; i < memberArray.Length; i++)
{
if(button.Text==memberArray[i]) //각 버튼 클릭시 i값을 체크
{
CheckNum = i;
}
}
Form2 f = new Form2(memberArray[CheckNum]); //Form2로 배열을 넘겨 Form2에서 출력하고자하는데 방법을;;
f.Owner = this;
f.ShowDialog();
}
}
}
Form2.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
namespace FormLectureNew
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public Form2(string Name) //Form1의 각 배열이 값을 어떻게 가지고 와서
{
InitializeComponent();
}
private void menuItem3_Click(object sender, EventArgs e)
{
MessageBox.Show("이름 : {0}\r\n나이 : 20세\r\n키 : 180Cm\r\n몸무게 : 80kg"); //여기에 출력할수있을까요.. ㅠㅠ
}
}
}
|