115. 탭 컨트롤(TabControl)
.NET프로그래밍/WinForm 2009. 8. 31. 09:41 |
* 도구상자의 "모든 Windows Forms"에서 "TabControl'을 폼에 드래그&드롭 --> 속성에서"TabPages"클릭한 후 "TabPage 컬렉션 편집기"에서 텍스트내용 변경('일반'/'보안')
폼에 그룹박스(GroupBox) 한개 만든 후 "TrackBar"도 그룹박스 안에 드래그&드롭 후 '속성'에서 "Orientation -> Vertical"로 변경.
==> Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace MyWinForms
{
static class Program
{
/// <summary>
/// 해당 응용 프로그램의 주 진입점입니다.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Controls.FrmTabControl());
}
}
}
==============================================================================================
==> MainForm.cs
// 탭컨트롤 관련
private void 탭컨트롤ToolStripMenuItem_Click(object sender, EventArgs e)
{
(new MyWinForms.Controls.FrmTabControl()).Show();
}
==============================================================================================
==> FrmTabControl.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using Microsoft.Win32;
namespace MyWinForms.Controls
{
public partial class FrmTabControl : Form
{
public FrmTabControl()
{
InitializeComponent();
}
private void tbLevel_Scroll(object sender, EventArgs e)
{
switch (this.tbLevel.Value)
{
case 0:
lblDisplay.Text = "낮음";
break;
case 1:
lblDisplay.Text = "보통";
break;
case 2:
lblDisplay.Text = "높음";
break;
default:
break;
}
}
private void FrmTabControl_Load(object sender, EventArgs e)
{
LoadHome();
LoadLevel();
tbLevel_Scroll(null, null);
}
private void LoadLevel()
{
// Windows 레지스트리 정보 읽어오기
RegistryKey r = Registry.CurrentUser.OpenSubKey(dir);
if (r != null)
{
tbLevel.Value = Convert.ToInt32(r.GetValue("Value"));
r.Close();
}
}
private void LoadHome()
{
if (File.Exists("C:\\Temp\\Home.dat"))
{
StreamReader sr = new StreamReader("C:\\Temp\\Home.dat");
this.txtHome.Text = sr.ReadLine();
sr.Close();
}
}
private void btnOK_Click(object sender, EventArgs e)
{
string msg = "홈페이지 : " + txtHome.Text;
msg += "\n보안수준 : " + lblDisplay.Text;
MessageBox.Show(msg, "옵션정보", MessageBoxButtons.OK, MessageBoxIcon.Information);
// 홈페이지 정보 : 파일에 저장
SaveHome(txtHome.Text);
// 보안수준 정보 : 레지스트리에 저장
SaveLevel(tbLevel.Value);
this.Close();
}
private string dir = "Software\\Hawaso\\MyWinForms";
private void SaveLevel(int p)
{
// Windows 레지스트리에 데이터 저장
RegistryKey r = Registry.CurrentUser.OpenSubKey(dir);
if (r == null)
{
r = Registry.CurrentUser.CreateSubKey(dir);
}
r.SetValue("Value", tbLevel.Value
, RegistryValueKind.DWord); // 0, 1, 2 값 중 하나 저장
r.Close();
}
private void SaveHome(string p)
{
StreamWriter sw = new StreamWriter("C:\\Temp\\Home.dat");
sw.WriteLine(txtHome.Text);
sw.Close();
}
}
}
< 실행결과 >
--> 파일(Home.dat)에 저장된 홈페이지 정보(www.hawaso.com)
--> 레지스트리에 저장된 데이터
'.NET프로그래밍 > WinForm' 카테고리의 다른 글
117. 초간단 메모장에 복사(Copy) / 붙여넣기(Paste) 기능 추가하기 (0) | 2009.08.31 |
---|---|
116. 툴팁(ToolTip) (0) | 2009.08.31 |
114. 리스트뷰(ListView)와 트리뷰(TreeView)를 이용해서 간단한 윈도우탐색기 만들기 (0) | 2009.08.28 |
113. 트리뷰(TreeView) (0) | 2009.08.28 |
112. 리스트뷰(ListView) (0) | 2009.08.28 |