개발자 성장일지
제 6강 윈도우 프로그램 만들기 본문
1. WinForm 만들기
- 윈폼(WinForms)은 윈도우즈 폼(Windows Forms)의 단축어이며, 윈도우즈 기반 사용자 인터페이스(UI, User Interface) 애플리케이션을 만들기 위한 환경
- 순서: 새프로젝트 - windows Form 앱(.NET Framework) - 도구상자 - Button, label - 속성 변경 - Click 이벤트 - 실행
2. 로그인 창 만들기
- 윈폼을 이용하여 로그인 창을 만들어 보는 실습과정
코드
더보기
namespace loginTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
string userId = id.Text;
string userPassword = passward.Text;
if(userId.Equals("MyId")&& userPassword.Equals("MyPassword"))
{
MessageBox.Show("로그인에 성공했습니다.", "로그인");
}
else
{
MessageBox.Show("로그인에 실패했습니다.", "로그인");
}
}
}
}
3. 숫자 맞추기 게임 만들기
- 랜덤으로 정해진 숫자를 정해진 횟수 안에 맞추는 게임 실습
코드
더보기
namespace FindNum
{
public partial class Form1 : Form
{
private int findNumber = 0;
private int chance = 0;
public Form1()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void ButtonStart_Click(object sender, EventArgs e)
{
var rand = new Random();
findNumber = rand.Next(1, 21);
chance = 10;
display.Text = "맞출 숫자를 입력하세요";
}
private void ButtonInput_Click(object sender, EventArgs e)
{
int inputNumber = Int32.Parse(textBox1.Text);
if(inputNumber == findNumber)
{
display.Text = "승리했습니다.";
}
else
{
chance--;
display.Text = "기회는 " + chance + " 번 남았습니다.";
}
}
}
}
4. 계산기 만들기
코드
더보기
namespace Calculation
{
public partial class Form1 : Form
{
enum Operators
{
None,
Add,
Subtract,
Multiply,
Divide,
Result
}
Operators currentOperator = Operators.None;
Boolean operatorChangeFlag = false;
int firstOperand = 0;
int secondOperand = 0;
public Form1()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
}
private void ButtonAnser_Click(object sender, EventArgs e)
{
secondOperand = Int32.Parse(display.Text);
if(currentOperator == Operators.Add)
{
firstOperand += secondOperand;
display.Text = firstOperand.ToString();
}
else if(currentOperator == Operators.Subtract)
{
firstOperand -= secondOperand;
display.Text = firstOperand.ToString();
}
else if (currentOperator == Operators.Multiply)
{
firstOperand *= secondOperand;
display.Text = firstOperand.ToString();
}
else if (currentOperator == Operators.Divide)
{
if(secondOperand == 0)
{
display.Text = "0으로 나눌 수 없습니다.";
}
else
{
firstOperand /= secondOperand;
display.Text = firstOperand.ToString();
}
}
}
private void ButtonPlus_Click(object sender, EventArgs e)
{
firstOperand = Int32.Parse(display.Text);
currentOperator = Operators.Add;
operatorChangeFlag = true;
}
private void ButtonMinuse_Click(object sender, EventArgs e)
{
firstOperand = Int32.Parse(display.Text);
currentOperator = Operators.Subtract;
operatorChangeFlag = true;
}
private void ButtonMultiy_Click(object sender, EventArgs e)
{
firstOperand = Int32.Parse(display.Text);
currentOperator = Operators.Multiply;
operatorChangeFlag = true;
}
private void ButtonDivision_Click(object sender, EventArgs e)
{
firstOperand = Int32.Parse(display.Text);
currentOperator = Operators.Divide;
operatorChangeFlag = true;
}
private void ButtonZero_Click(object sender, EventArgs e)
{
if(operatorChangeFlag == true)
{
display.Text = "";
operatorChangeFlag = false;
}
string strNumber = display.Text += "0";
int intNumber = Int32.Parse(strNumber);
display.Text = intNumber.ToString();
}
private void ButtonOne_Click(object sender, EventArgs e)
{
if (operatorChangeFlag == true)
{
display.Text = "";
operatorChangeFlag = false;
}
string strNumber = display.Text += "1";
int intNumber = Int32.Parse(strNumber);
display.Text = intNumber.ToString();
}
private void ButtonTwo_Click(object sender, EventArgs e)
{
if (operatorChangeFlag == true)
{
display.Text = "";
operatorChangeFlag = false;
}
string strNumber = display.Text += "2";
int intNumber = Int32.Parse(strNumber);
display.Text = intNumber.ToString();
}
private void ButtonThree_Click(object sender, EventArgs e)
{
if (operatorChangeFlag == true)
{
display.Text = "";
operatorChangeFlag = false;
}
string strNumber = display.Text += "3";
int intNumber = Int32.Parse(strNumber);
display.Text = intNumber.ToString();
}
private void ButtonFour_Click(object sender, EventArgs e)
{
if (operatorChangeFlag == true)
{
display.Text = "";
operatorChangeFlag = false;
}
string strNumber = display.Text += "4";
int intNumber = Int32.Parse(strNumber);
display.Text = intNumber.ToString();
}
private void ButtonFive_Click(object sender, EventArgs e)
{
if (operatorChangeFlag == true)
{
display.Text = "";
operatorChangeFlag = false;
}
string strNumber = display.Text += "5";
int intNumber = Int32.Parse(strNumber);
display.Text = intNumber.ToString();
}
private void ButtonSix_Click(object sender, EventArgs e)
{
if (operatorChangeFlag == true)
{
display.Text = "";
operatorChangeFlag = false;
}
string strNumber = display.Text += "6";
int intNumber = Int32.Parse(strNumber);
display.Text = intNumber.ToString();
}
private void ButtonSeven_Click(object sender, EventArgs e)
{
if (operatorChangeFlag == true)
{
display.Text = "";
operatorChangeFlag = false;
}
string strNumber = display.Text += "7";
int intNumber = Int32.Parse(strNumber);
display.Text = intNumber.ToString();
}
private void ButtonEight_Click(object sender, EventArgs e)
{
if (operatorChangeFlag == true)
{
display.Text = "";
operatorChangeFlag = false;
}
string strNumber = display.Text += "8";
int intNumber = Int32.Parse(strNumber);
display.Text = intNumber.ToString();
}
private void ButtonNine_Click(object sender, EventArgs e)
{
if (operatorChangeFlag == true)
{
display.Text = "";
operatorChangeFlag = false;
}
string strNumber = display.Text += "9";
int intNumber = Int32.Parse(strNumber);
display.Text = intNumber.ToString();
}
private void ButtonClear_Click(object sender, EventArgs e)
{
firstOperand = 0;
secondOperand = 0;
currentOperator = Operators.None;
display.Text = "0";
}
}
}
'인프런 > C# 프로그래밍 입문' 카테고리의 다른 글
제 7강 웹 서비스 만들기 (0) | 2023.11.08 |
---|---|
제 5강 C#의 지식창고 MSDN (0) | 2023.11.08 |
제 4강 클래스(Class) (0) | 2023.11.07 |
제 3강 C# 기본기 쌓기 (0) | 2023.11.07 |
제 2강 Visual Studio 설치 및 첫 프로그램 (0) | 2023.11.06 |