728x90
반응형
728x170
▶ MainForm.cs
using System;
using System.IO;
using System.Windows.Forms;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : Form
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
//////////////////////////////////////////////////////////////////////////////// Event
#region 폼 로드시 처리하기 - Form_Load(sender, e)
/// <summary>
/// 폼 로드시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Form_Load(object sender, EventArgs e)
{
UpdateUIState();
}
#endregion
#region CMD 실행 툴 스트립 버튼 클릭시 처리하기 - runCMDToolStripButton_Click(sender, e)
/// <summary>
/// CMD 실행 툴 스트립 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void runCMDToolStripButton_Click(object sender, EventArgs e)
{
this.consoleControl.StartProcess("cmd", null);
UpdateUIState();
}
#endregion
#region 새 프로세스 툴 스트립 버튼 클릭시 처리하기 - newProcessToolStripButton_Click(sender, e)
/// <summary>
/// 새 프로세스 툴 스트립 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void newProcessToolStripButton_Click(object sender, EventArgs e)
{
NewProcessForm form = new NewProcessForm();
if(form.ShowDialog() == DialogResult.OK)
{
this.consoleControl.StartProcess(form.FileName, form.Argument);
UpdateUIState();
}
}
#endregion
#region 프로세스 중단 툴 스트립 버튼 클릭시 처리하기 - stopProcessToolStripButton_Click(sender, e)
/// <summary>
/// 프로세스 중단 툴 스트립 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void stopProcessToolStripButton_Click(object sender, EventArgs e)
{
this.consoleControl.StopProcess();
UpdateUIState();
}
#endregion
#region 진단 보여주기 툴 스트립 버튼 클릭시 처리하기 - showDiagnosticsToolStripButton_Click(sender, e)
/// <summary>
/// 진단 보여주기 툴 스트립 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void showDiagnosticsToolStripButton_Click(object sender, EventArgs e)
{
this.consoleControl.ShowDiagnostics = !this.consoleControl.ShowDiagnostics;
UpdateUIState();
}
#endregion
#region 입력 가능 여부 툴 스트립 버튼 클릭시 처리하기 - inputEnabledToolStripButton_Click(sender, e)
/// <summary>
/// 입력 가능 여부 툴 스트립 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void inputEnabledToolStripButton_Click(object sender, EventArgs e)
{
this.consoleControl.IsInputEnabled = !this.consoleControl.IsInputEnabled;
UpdateUIState();
}
#endregion
#region 프로세스에 키보드 명령 보내기 툴 스트립 버튼 클릭시 처리하기 - sendKeyboardCommandToProcessToolStripButton_Click(sender, e)
/// <summary>
/// 프로세스에 키보드 명령 보내기 툴 스트립 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void sendKeyboardCommandToProcessToolStripButton_Click(object sender, EventArgs e)
{
this.consoleControl.SendKeyboardCommandToProcess = !this.consoleControl.SendKeyboardCommandToProcess;
UpdateUIState();
}
#endregion
#region 결과 지우기 툴 스트립 버튼 클릭시 처리하기 - clearOutputToolStripButton_Click(sender, e)
/// <summary>
/// 결과 지우기 툴 스트립 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void clearOutputToolStripButton_Click(object sender, EventArgs e)
{
this.consoleControl.ClearOutput();
}
#endregion
#region 타이머 틱 처리하기 - timer_Tick(sender, e)
/// <summary>
/// 타이머 틱 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void timer_Tick(object sender, EventArgs e)
{
UpdateUIState();
}
#endregion
//////////////////////////////////////////////////////////////////////////////// Function
#region UI 상태 업데이트 하기 - UpdateUIState()
/// <summary>
/// UI 상태 업데이트 하기
/// </summary>
private void UpdateUIState()
{
if(this.consoleControl.IsProcessRunning)
{
this.consoleStateValueToolStripStatusLabel.Text = "Running " + Path.GetFileName
(
this.consoleControl.ProcessHelper.ProcessFileName
);
}
else
{
consoleStateValueToolStripStatusLabel.Text = "Not Running";
}
this.runCMDToolStripButton.Enabled = !this.consoleControl.IsProcessRunning;
this.newProcessToolStripButton.Enabled = !this.consoleControl.IsProcessRunning;
this.stopProcessToolStripButton.Enabled = this.consoleControl.IsProcessRunning;
this.showDiagnosticsToolStripButton.Checked = this.consoleControl.ShowDiagnostics;
this.inputEnabledToolStripButton.Checked = this.consoleControl.IsInputEnabled;
this.sendKeyboardCommandToProcessToolStripButton.Checked = this.consoleControl.SendKeyboardCommandToProcess;
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WinForm' 카테고리의 다른 글
[C#/WINFORM] ListBox 클래스 : OnDrawItem 메소드를 사용해 리스트 박스 항목 그리기 (0) | 2018.02.02 |
---|---|
[C#/WINFORM] 시계 컨트롤 사용하기 (0) | 2018.02.01 |
[C#/WINFORM] YUV 재생기 사용하기 (0) | 2018.01.31 |
[C#/WINFORM] 화상 키보드 사용하기 (0) | 2018.01.30 |
[C#/WINFORM] Control 클래스 : SetStyle 메소드를 사용해 깜박임 방지하기 (0) | 2018.01.28 |
[C#/WINFORM] 명령 프롬프트를 모방한 콘솔 컨트롤 사용하기 (0) | 2018.01.22 |
[C#/WINFORM] 마우스 자동화 하기 (0) | 2018.01.20 |
[C#/WINFORM] Form 클래스 : InvokeOnClick 메소드를 사용해 컨트롤 클릭하기 (0) | 2018.01.20 |
[C#/WINFORM] SendMessage API를 사용해 컨트롤 클릭하기 (0) | 2018.01.20 |
[C#/WINFORM] 특수 키 상태 조사하기 (0) | 2018.01.17 |
[C#/WINFORM] 로또 컨트롤 사용하기 (0) | 2017.12.18 |
댓글을 달아 주세요