[.Net] C# WinForm์์ Metro UI(Modern UI) Framework ์ ์ฉํ๊ธฐ(์์ ํฌํจ)
์๊ฐ
MFC ๊ธฐ๋ฐ์์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ๋ UI ์์ ์ด ์๊ฐ๋ณด๋ค ๊ฝค ๋ง์ ์๊ฐ์ ์ฐจ์งํฉ๋๋ค. ์ปจํธ๋กค ์์์ด๋ ๋ง์ฐ์ค ๋์์ ๋ฐ๋ฅธ ํจ๊ณผ๋ฅผ ์ ์ฉํ๊ธฐ๊ฐ ์ฝ์ง ์๊ณ , ๋ญ๋ ์ง ์ฌ์ฉ์๊ฐ ์์์ ๊ฐ๋ฐํด์ผ ํ๊ธฐ ๋๋ฌธ์ด์ฃ . ์ด์ ๋ฐํด C#์ UI ์ ์ฉ์ด ์ ๋ง ํธํฉ๋๋ค. ํฌ๊ธฐ๋ ์์น ์กฐ์ , ์์ ๋ฑ MFC ๋ณด๋ค ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง MFC์ ๋ถํธํจ์ ๋ฐ๋ฅธ ๊ธฐ๋๊ฐ์ด ๋์ ๊ฒ ๋๋ฌธ์ธ์ง, ๊ฐ์ธ์ ์ผ๋ก ๊ทธ๋ ๊ฒ ๋ง์ด ๋ง์กฑ์ค๋ฝ์ง ๋ชปํฉ๋๋ค. ๊ฒฐ๊ตญ์ ์์๊ฒ UI๋ฅผ ๊พธ๋ฏธ๊ณ ์ถ์ผ๋ฉด ์๋ธ ํด๋์ฑ์ ํด์ผ ํ๋๊ตฐ์.
์ด๋ฐ ๋ถ์กฑํจ์ ์ฑ์์ฃผ๊ธฐ ์ํ Metro UI(Modern UI)
๊ฐ ์์ต๋๋ค. ๋ฌด๋ฃ์ด๋ฉฐ ์ฌ๋งํ ์ฌ์ฉ์๋ค์ ๋ง์กฑํ ๋งํ ๊ธฐ๋ฅ์ ์ถฉ๋ถํ ์ ๊ณตํ๋ UI ํ๋ ์์ํฌ์
๋๋ค. ๋ณธ๊ฒฉ์ ์ผ๋ก ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Metro UI๋?
์ฐ์ ์ํค๋ฐฑ๊ณผ์ ์ ์๋ถํฐ ๋ณด๊ฒ ์ต๋๋ค.
๋ฉํธ๋ก(Metro)๋ ๋ง์ดํฌ๋ก์ํํธ๊ฐ ํ์ดํฌ๊ทธ๋ํผ ๊ธฐ๋ฐ์ ๋์์ธ ์ธ์ด์ ๋ด๋ถ ์ฝ๋๋ช ์ด๋ค. ๋ง์ดํฌ๋ก์ํํธ ๋ด๋ถ์ ์ผ๋ก๋ ๋ฒ์ ๋ฌธ์ ๋ก ์ธํด ์์์ ์ผ๋ก '๋ชจ๋ UI'(Modern UI)๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉ ์ค์ด๋ค. ์๋์ฐ 10์ด ๋ ๋์คํค 2๊น์ง๋ ๋ฉํธ๋ก์๋๋ฐ ๋ ๋์คํค 3๋ถํฐ ํ๋ฃจ์ธํธ ๋์์ธ์ผ๋ก ๋ฐ๋์๋ค.
์ฆ, ๋ง์ดํฌ๋ก์ํํธ๊ฐ ์ฌ์ฉํ UI ํ๋ ์์ํฌ์ธ๋ฐ์. ์ฌ๊ฐํ ํ์ผ ๋ชจ์์ ๋ฒํผ์ ๊ธฐ๋ฐ์ผ๋ก ํ UI๋ผ๊ณ ์ดํดํ๋ฉด ๋๊ฒ ์ต๋๋ค. ์๋ง ๊ฐ์ฅ ๋ง์ด ์ ํ ๊ฒฝํ์ ์๋์ฐ 8์ด๋ผ๊ณ ์๊ฐ์ด ๋ฉ๋๋ค.
๊ทธ๋์ .Net WinForm
์ ์ํ Window Modern UI๋ฅผ ์ ์ฉํ๋ฉด ์๋์ ๊ฐ์ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
MetroFramework์ ๋ํ ์์ธํ ํน์ง์ ์๋ ๋งํฌ์์ ํ์ธํ ์ ์์ต๋๋ค.
๋งํฌ: thielj.github.io/MetroFramework/#Screensots
๋ฐ๋ผ ํ๊ธฐ
๋ณธ๊ฒฉ์ ์ผ๋ก WinForm์ Metro UI๋ฅผ ์ ์ฉํด ๋ณด๊ฒ ์ต๋๋ค. Visual Studio๋ฅผ ์คํํ๊ณ Windows Forms ์ฑ์ ์ ํํ์ฌ ExamMetroUI๋ผ๋ ์ด๋ฆ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ํํ ๋ณด๋ C# WinForm์ด ๋ณด์ ๋๋ค.
Metro UI๋ NuGet์ ํตํด ์ฝ๊ฒ ์ค์น๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ์๋์ ๊ฐ์ด ์๋ฃจ์ ์ฉ NuGet ํจํค์ง ๊ด๋ฆฌ ๋ฉ๋ด๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ฒ์๋์ metroui๋ฅผ ๊ฒ์ํ๋ฉด ์ฌ๋ฌ ํญ๋ชฉ์ด ํ์๋ฉ๋๋ค. ๊ทธ ์ค MetroModernUI๋ฅผ ์ ํํ๊ณ , ์๋์ ๊ฐ์ด ์ฒดํฌ๋ฐ์ค ์ฒดํฌ ํ ์ค์น ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
์ค์น ํ ํ๋ก์ ํธ ์ฐธ์กฐ์ MetroFramework ๊ด๋ จ dll์ด ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ Form ๋์์ธ ํ๋ฉด์ ๋๊ตฌ ์์๋ฅผ ๋ณด๋ฉด, ์๋์ ๊ฐ์ด Metro ๊ด๋ จ UI ์ปจํธ๋กค์ด ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ด์ Form1.cs
์์ ์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ ํฉ๋๋ค.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ExamMetroUI
{
public partial class Form1 : MetroFramework.Forms.MetroForm //์์ ํด๋์ค ๋ณ๊ฒฝ
{
public Form1()
{
InitializeComponent();
}
}
}
๊ทธ๋ฆฌ๊ณ Form1.cs[๋์์ธ]์ ๋ณด๋ฉด ์๋์ ๊ฐ์ด ๋ณ๊ฒฝ๋์ด ์์ต๋๋ค.
์ด์ Metro UI Control์ ์ถ๊ฐํ์ฌ ๊ธฐ๋ณธ UI๋ณด๋ค ์์๊ฒ ๊พธ๋ฐ ์ ์์ต๋๋ค.
์๋ ์์ ์ฝ๋๋ ๋ณธ๋ฌธ์์ ๋ณด์ฌ์ค ์์ ์ ๋๋ค.
'Programming > .Net' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[.Net] C# ํ๋ก๊ทธ๋จ ๋ฐฐํฌ ์ ์์ค ์ฝ๋ ๋ณดํธ๋ฅผ ์ํ ๋๋ ํ, ConfuserEx ์ฌ์ฉ๋ฐฉ๋ฒ
[.Net] C# ํ๋ก๊ทธ๋จ ๋ฐฐํฌ ์ ์์ค ์ฝ๋ ๋ณดํธ๋ฅผ ์ํ ๋๋ ํ, ConfuserEx ์ฌ์ฉ๋ฐฉ๋ฒ
2021.03.14 -
[.Net] C# ํ๊ธ๊ณผ ์ปดํจํฐ hwp ๋ฌธ์ ๋ถ๋ฌ์ค๋ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ (์์ ํฌํจ)
[.Net] C# ํ๊ธ๊ณผ ์ปดํจํฐ hwp ๋ฌธ์ ๋ถ๋ฌ์ค๋ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ (์์ ํฌํจ)
2021.03.13 -
[.Net] C#์์ Open API ๊ณ ์๋๋ก ๊ตํต๋ ์ ๋ณด ์ป๊ธฐ (์์ ํฌํจ)
[.Net] C#์์ Open API ๊ณ ์๋๋ก ๊ตํต๋ ์ ๋ณด ์ป๊ธฐ (์์ ํฌํจ)
2021.01.29 -
[.NET] google ๋ฐ Naver (SMTP) ๋ฉ์ผ ๋ณด๋ด๊ธฐ (์์ ํฌํจ)
[.NET] google ๋ฐ Naver (SMTP) ๋ฉ์ผ ๋ณด๋ด๊ธฐ (์์ ํฌํจ)
2021.01.14