C# - ์ปจํŠธ๋กค

2020. 10. 6. 18:54ใ†์ „๊ณต ๊ณผ๋ชฉ/์œˆ๋„์šฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

C# - ์ปจํŠธ๋กค

 

์ง€๋‚œ ์žฅ์—์„œ๋Š” ๋ผ๋””์˜ค ๋ฒ„ํŠผ๊ณผ ์ฒดํฌ ๋ฐ•์Šค๊นŒ์ง€ ์•Œ์•„๋ณด์•˜๋‹ค. ์ด๋ฒˆ ์žฅ์—์„œ๋Š” ๋งํฌ ๋ ˆ์ด๋ธ”, ํ…์ŠคํŠธ ์ƒ์ž, ๋ฆฌ์ŠคํŠธ ์ƒ์ž, ์ฝค๋ณด ์ƒ์ž์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค.

 

์ปจํŠธ๋กค

  • ํ™”๋ฉด์— ํ‘œ์‹œ๋˜์–ด ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ

์ปจํŠธ๋กค์˜ ์ข…๋ฅ˜

  1. ๋ฒ„ํŠผ ๊ธฐ๋ฐ˜ ์ปจํŠธ๋กค : ๋ฒ„ํŠผ, ์ฒดํฌ์ƒ์ž, ๋ผ๋””์˜ค ๋ฒ„ํŠผ
  2. ๋ ˆ์ด๋ธ” ์ปจํŠธ๋กค : ๋ ˆ์ด๋ธ”, ๋งํฌ ๋ ˆ์ด๋ธ”
  3. ํ…์ŠคํŠธ ์ปจํŠธ๋กค : ํ…์ŠคํŠธ ์ƒ์ž
  4. ๋ฆฌ์ŠคํŠธ ์ปจํŠธ๋กค : ๋ฆฌ์ŠคํŠธ ์ƒ์ž, ์ฝค๋ณด ์ƒ์ž, ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ƒ์ž

๋งํฌ ๋ ˆ์ด๋ธ”

๋„๊ตฌ ์ƒ์ž์—์„œ ๋ ˆ์ด๋ธ” ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋งํฌ ๋ ˆ์ด๋ธ”์ด๋ผ๋Š” ์ปจํŠธ๋กค๋„ ์กด์žฌํ•œ๋‹ค. ์ด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํด๋ฆญ์— ์ด๋ฒคํŠธ๋ฅผ ์ฃผ๋ฉด ํ•ด๋‹น ํ…์ŠคํŠธ์˜ ๋งํฌ๋กœ ์ด๋™ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

 

์ด์™€ ๊ฐ™์ด ํ…์ŠคํŠธ์— ๋„ค์ด๋ฒ„์˜ ์ฃผ์†Œ๋ฅผ ๋„ฃ๊ณ , ์ฝ”๋“œ์—๋Š” Processํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•œ Start๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•œ๋‹ค๋ฉด ํ•ด๋‹น ์ฃผ์†Œ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

 

์†Œ์Šค ์ฝ”๋“œ

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Process.Start(linkLabel1.Text);
        }

์œ ์˜ํ•  ๊ฒƒ์€ using System.Diagnostics๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•ด๋‹น Process๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

ํ…์ŠคํŠธ ์ƒ์ž

์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๊ฑฐ๋‚˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ƒ์ž์ด๋‹ค.

 

ํ…์ŠคํŠธ ์ƒ์ž์˜ ํ”„๋กœํผํ‹ฐ

ํ”„๋กœํผํ‹ฐ ์„ค๋ช…
MaxLength ํ…์ŠคํŠธ ์ƒ์ž์— ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฌธ์ž ์ˆ˜๋ฅผ ๊ฒฐ์ •.
Multiline ํ…์ŠคํŠธ ์ƒ์ž์˜ ์˜์—ญ์„ ์—ฌ๋Ÿฌ ์ค„๋กœ ์„ค์ •
PasswordChar ์•”ํ˜ธ ์ž…๋ ฅ์— ์‚ฌ์šฉ
ReadOnly ์ฝ๊ธฐ์ „์šฉ
WordWrap ์˜์—ญ ์ดˆ๊ณผ์‹œ ์ž๋™์œผ๋กœ ์ค„๋ฐ”๊ฟˆ.
ScrollBars ์Šคํฌ๋กค ๋ฐ”๋ฅผ ์„ค์ • (Multiline์ด ์ฐธ์ผ ๋•Œ)

 

ex)

ID์™€ PW๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ฐ‘์— ๋ฐ•์Šค์— ID์™€ PW๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋งŒ๋“ค์–ด๋ณด์ž.

 

์†Œ์Šค ์ฝ”๋“œ

 private void button1_Click(object sender, EventArgs e)
        {
            textBox3.Text = "Name:" + textBox1.Text + "\r\n" + "Password : " + textBox2.Text;
        }

 

ID์˜ ๋ฐ•์Šค์™€ PW์˜ ๋ฐ•์Šค๋ฅผ \r\n์„ ์‚ฌ์ด์— ๋†“๊ณ  ๋”ํ•ด์ค€๊ฒƒ์„ textBox3์— ๋„ฃ๋Š”๋‹ค๋ฉด ์™„์„ฑ๋œ๋‹ค. 

//\r\n์€ ์ค„๋ฐ”๊ฟˆ.

 

๋ฆฌ์ŠคํŠธ ์ƒ์ž

๋ฆฌ์ŠคํŠธ ์ƒ์ž์˜ ํ”„๋กœํผํ‹ฐ์—๋Š” item, SelectionMode์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค.

item์€ ๋ฆฌ์ŠคํŠธ ์ƒ์ž์˜ ํ•ญ๋ชฉ์„ ์„ค์ •ํ•˜๊ณ  SelectionMode๋Š” ๋ฆฌ์ŠคํŠธ ์ƒ์ž์—์„œ ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

SelectionMode์—๋Š” None, One MultiSimple, MultiExtented๊ฐ€ ์žˆ๋Š”๋ฐ, MultiExtented๊ฐ€ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด๋Š” ์ปจํŠธ๋กค์ด๋‚˜ ์‹œํ”„ํŠธ๋ฅผ ํ†ตํ•ด ์„ ํƒํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

 

๋ฆฌ์ŠคํŠธ์˜ ์‚ญ์ œ๋Š” Items ํ”„๋กœํผํ‹ฐ๋ฅผ ํ†ตํ•˜์—ฌ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

์ด๋Š” ObjectCollection ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ์ธ๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์†Œ๋“œ๋“ค์ด ์กด์žฌํ•œ๋‹ค.

๋ฉ”์†Œ๋“œ ์„ค๋ช…
Add(object item) ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•œ๋‹ค
Clear() ๋ชจ๋“  ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•œ๋‹ค
FindString(string s, int index) ๋ฆฌ์ŠคํŠธ์˜ ํ•ญ๋ชฉ ์ค‘ ์ง€์ •ํ•œ ์ธ๋ฑ์Šค ๋‹ค์Œ๋ถ€ํ„ฐ
์ง€์ •๋œ ๋ฌธ์ž์—ด๋กœ ์‹œ์ž‘ํ•˜๋Š” ํ•ญ๋ชฉ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
IndexOf(object item) ์ง€์ •๋œ ํ•ญ๋ชฉ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
Insert(int index, object item) ์ง€์ •๋œ ์ธ๋ฑ์Šค์— ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.
Remove(object item) ์ง€์ •๋œ ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•œ๋‹ค.
RemoveAt(int index) ์ง€์ •๋œ ์ธ๋ฑ์Šค์˜ ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•œ๋‹ค.

 

๊ณต๋ฐฑ์˜ ํ…์ŠคํŠธ๋ฐ•์Šค์— ์ž…๋ ฅ๊ฐ’์„ ๋„ฃ๊ณ  ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ๋„ฃ์œผ๋ฉด ์•„๋ž˜ ๋ฆฌ์ŠคํŠธ๋ฐ•์Šค์— ์ถ”๊ฐ€๋˜๊ณ  ์‚ญ์ œ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์‚ญ์ œ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์–ด๋ณด์ž.

 

์†Œ์Šค ์ฝ”๋“œ

private void button1_Click(object sender, EventArgs e) {
  if (textBox1.Text != " ")
  {
   listBox1.Items.Add(textBox1.Text);
   textBox1.Text = "";
   }
   }
 private void button2_Click(object sender, EventArgs e) {
   if(listBox1.SelectedIndex >-1)
   {
   listBox1.Items.Remove(listBox1.SelectedIndex); }
   }
   

 

์ฝค๋ณด ์ƒ์ž

์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์ž๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ชฉ๋ก์ด ๋‚˜ํƒ€๋‚˜๋Š” ๋“œ๋กญ๋‹ค์šด ํ˜•์‹์ด๋‹ค.

DropDownStyle์€ Simple, DropDown, DropDownList ์ด ์„ธ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

 

1๋ฒˆ์งธ๋Š” Simple, 2๋ฒˆ์งธ๋Š” DropDown, 3๋ฒˆ์จฐ๋Š” DropDownList์ด๋‹ค.

 

 

์ฝค๋ณด๋ฐ•์Šค์™€ ๋ฆฌ์ŠคํŠธ๋ฐ•์Šค๋ฅผ ํ™œ์šฉํ•œ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž.

>>๋ฅผ ๋ˆ„๋ฅด๋ฉด ์˜ค๋ฅธ์ชฝ์œผ๋กœ Item์ด๊ฐ€๊ณ  <<๋ฅผ ๋ˆ„๋ฅด๋ฉด ์™ผ์ชฝ์œผ๋กœ Item์ด ๊ฐ„๋‹ค.

 

์†Œ์Šค ์ฝ”๋“œ

private void button1_Click(object sender, EventArgs e) {
     if(listBox1.SelectedItem != null){
      comboBox1.Items.Add(listBox1.SelectedItem);
      listBox1.Items.Remove(listBox1.SelectedItem);
     }
  }  
private void button2_click(object sender, EventArgs e) {
      if(comboBox1.SelectedIndex >-1){
       listBox1.Items.Add(comboBox1.SelectedItem);
       comboBox1.Items.Remove(ComboBox1.SelectedItem); 
      }
  }