사용자 도구

사이트 도구

English

jcontrols_cf35:jmessagebox

jMessageBox

jMessageBox 는 메세지를 표시하거나, 질문에 대한 응답을 받기위한 콘트롤입니다. 닷넷 프레임웍에도 멧세지 박스 기능이 기본적으로 있습니다만, jMessageBox로 하면 보다 근사한 화면을 만드실 수 있습니다.

Visual Studio에서는 jMessageBox는 무조건 보이도록 되어 있지만, Visible 속성이 디폴트로 false로 되어 있어서, Windows CE 디바이스에서는 보이지 않습니다. 이것을 보이도록 하려면 Visible 속성을 true로 변경하면 됩니다. 또는 Open 메소드 함수 이용해서 불러낼 수 있습니다.

평소에는 jMessageBox를 감추고 있다가, 필요할 때 표시하는 식으로 사용합니다.

Properties

Button Properties

jMessageBox에는 3개의 버튼이 있고 각각의 버튼에 대한 속성을 조정할 수 있습니다.

버튼을 여러분이 원하는 형태로 바꾸어서 커스터마이징하실 수 있습니다.

Button Text 속성

또한 jMessageBox은 4개의 text속성을 조정할 수 있도록 되어 있습니다. CancelText, NoText, OKText, YesText. 이 속성에 들어있는 Text를 한글로 변경하면 한글이 표시됩니다. Open 메소드 함수jMessageBox.Buttons 인자를 조정하여 어떤 보턴을 표시할 것인지 결정할 수 있습니다.

MessageLabel 속성

MessageLabel 속성에 표시할 멧세지를 입력하시면 됩니다.

Methods

Open 메소드 함수

public void Open(Action<DialogResult> handleResult, string message);
public void Open(Action<DialogResult> handleResult, string message, string caption);     
public void Open(Action<DialogResult> handleResult, string message, string caption, jMessageBox.Buttons buttons);

handleResult - 3 버튼중 하나가 눌려졌을 때 실행할 콜백 함수
message - MessageLabel에 표시할 멧세지
caption - message box의 타이틀에 표시할 Text.
buttons - 다음 4개중 하나를 사용할 수 있습니다; OK, OKCancel, YesNo, YesNoCancel

Open 메소드 함수를 호출하면 멧세지박스를 표시합니다. 버튼중 하나를 누르면, 멧세지 박스는 사라집니다. 그리고 handleResult 콜백 함수를 콜합니다. 누른 버튼에 해당하는 DialogResult 가 반환됩니다.

사용예제

4개의 버튼 옵션이 각각 어떻게 동작하는지 알 수 있는 예제입니다. (_okButton, _okCancelButton, _yesNoButton, _yesNoCancelButton). 아래에는 _resultLabel 라벨이 하나 있습니다. 여기에 멧세지박스가 클로즈되었을때의 결과를 표시하도록 하였습니다.

void DisplayResult(DialogResult result)
{
    _resultLabel.Text = result.ToString();
}
 
private void _okButton_Click(object sender, EventArgs e)
{
    _messageBox.Open(DisplayResult, "Press OK Button", ((Control)sender).Text, jMessageBox.Buttons.OK);
}
 
private void _okCancelButton_Click(object sender, EventArgs e)
{
    _messageBox.Open(DisplayResult, "Press OK or Cancel Button", ((Control)sender).Text, jMessageBox.Buttons.OKCancel);
}
 
private void _yesNoButton_Click(object sender, EventArgs e)
{
    _messageBox.Open(DisplayResult, "Press Yes or No Button", ((Control)sender).Text, jMessageBox.Buttons.YesNo);
}
 
private void _yesNoCancelButton_Click(object sender, EventArgs e)
{
    _messageBox.Open(DisplayResult, "Press, Yes, No, or Cancel Button", ((Control)sender).Text, jMessageBox.Buttons.YesNoCancel);
}

jcontrols_cf35/jmessagebox.txt · 마지막으로 수정됨: 2016/04/14 09:46 (바깥 편집)