์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ํผ(์‹ค์Šต)

2020. 9. 17. 16:21ใ†์ „๊ณต ๊ณผ๋ชฉ/์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ํผ(์‹ค์Šต)

 

์˜ค๋Š˜์€ ํผ์— ๋Œ€ํ•˜์—ฌ ์‹ค์Šต 2๊ฐ€์ง€๋ฅผ ํ•  ๊ฒƒ์ด๋‹ค.

 

์ฒซ๋ฒˆ์งธ ์‹ค์Šต

- ๋ฒ„ํŠผ์ด ์žˆ๊ณ  ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํผ์•ˆ์— ํ•œ ๊ณต๊ฐ„์˜ ์ƒ‰๊น”์ด ๊ณ„์† ๋ฐ”๋€Œ๋Š” ํ”„๋กœ๊ทธ๋žจ

 

 

sol) button1์€ ํผ์•ˆ์— ์•„๋ž˜์— ์žˆ๊ณ  ์œ„์˜ ์‚ฌ๊ฐํ˜•์€ Panel์ด๋ผ๋Š” ๋„๊ตฌ์ด๋ฉฐ, ๋ฒ„ํŠผ์œ„์— ๊ฝ‰ ์ฐจ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋”ฑ ํ‹€์— ๋งž์ถฐ์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํผํ‹ฐ๊ฐ€ Dock์ด๋‹ค. button1์€ bottom(๋ฐ”๋‹ฅ)์— Dock์„ Panel์—๋Š” Fill์ด๋ผ๋Š” Dock์„ ์ฃผ๋ฉด ๋œ๋‹ค. 

 

sol2) ๋ฒ„ํŠผ์„ ํ†ตํ•ด ๋ฐ”๋€Œ๋ ค๋ฉด ์ด๋ฒคํŠธ๋ฅผ ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๋ฒ„ํŠผ์—๋Š” ํด๋ฆญ์„, panel์€ Paint๋ฅผ ์ค€๋‹ค. ์ฆ‰ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๋•Œ ํŽ˜์ธํŠธ๊ฐ€ ๋ฐ”๋€๋‹ค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ์œ„ํ•ด ์ด์™€ ๊ฐ™์€ ์ด๋ฒคํŠธ๋ฅผ ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

์•„๋ž˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณด์ž.

namespace ๋ฒ„๋ฆฌ๋Š”_๊ฑฐ
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            panel1.Invalidate(); // panel์„ ๋ฌดํšจํ™”์‹œํ‚จ๋‹ค --> ๋‹ค์‹œ ์ƒ‰๊น”์ง€์ •ํ•˜๊ฒŒํ•œ๋‹ค.
        }

        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics; // ๊ทธ๋ฆผ์„ ๊ทธ๋ฆด ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
            Random r = new Random();  // ๋žœ๋คํ•จ์ˆ˜ ๊ฐ์ฒด
            Color c = Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)); // color์˜ ์ƒ‰์„ ๊ฐ€์ ธ์˜จ๋‹ค.
            g.FillRectangle(new SolidBrush(c), e.ClipRectangle); //์‚ฌ๊ฐํ˜•ํ˜•ํƒœ๋กœ ์ฑ„์šด๋‹ค(c์˜ ์ƒ‰๊น”๋กœ, ์‚ฌ๊ฐํ˜• ํ˜•ํƒœ๋กœ)
        }
    }
}

 

๋‘๋ฒˆ์งธ ์‹ค์Šต

-ํผ์ด ๋กœ๋“œํ•  ๋•Œ ๋‚˜์˜ค๊ณ , ์›€์ง์—ฌ์งˆ ๋•Œ ๋‚˜์˜ค๊ณ , ํฌ๊ธฐ๊ฐ€ ๋ฐ”๋€” ๋•Œ ๊ทธ ํผ์˜ ์œ„์น˜,์ขŒํ‘œ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ.

 

 

sol) ๋จผ์ € ํผ์˜ load, Resize, move์ด๋ฒคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ , ๊ทธ ์ด๋ฒคํŠธ์•ˆ์— set_button์ด๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์ค€๋‹ค.

so2) set_button์€ ๋ฒ„ํŠผ์•ˆ Text์— ํ˜„์žฌ ์ขŒํ‘œ๋ฅผ ๋‹ด๊ณ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.

 

์•„๋ž˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณด์ž.

namespace ๋ฒ„๋ฆฌ๋Š”๊ฑฐ_2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public void Set_Button1()
        {
            button1.Text = "Location = " + Location + "\n"
                            + "Left/Right/Width" + Left + "," + Right + "," + Width +
                            "\nTop/Bottom/Height = " + Top + "," + Bottom + "," + Height;
        }

        private void Form1_Move(object sender, EventArgs e)
        {
            Set_Button1();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Set_Button1();
        }

        private void Form1_Resize(object sender, EventArgs e)
        {
            Set_Button1();
        }
    }
}