2014-04-23 4 views
3

몇 가지 양식이 포함 된 Windows 양식 응용 프로그램을 만들었습니다. 상태를 저장하는 특정 양식의 단추를 만들고 싶습니다.서식의 상태를 저장하는 방법은 무엇입니까?

예를 들어 사용자가 "Hello"를 입력하고 저장 버튼을 누른 텍스트 상자가 있으면이 양식으로 돌아 가면 텍스트 상자에 여전히 "Hello"가 표시됩니다. 프로그램을 닫은 후 다시 열 때 텍스트 상자가 "Hello"를 더 이상 말하지 않을 것입니다 (즉, 설정이 내가 필요하다고 생각하는 이유가 맞지 않는 이유입니다. 사형 집행 간의 변화).

+0

양식을 * 닫는 대신 * 숨길 수 있습니다. 그런 다음 * 다시 표시하는 대신 *에서 다시 표시 * * –

+0

양식이 닫히면 해당 상태를 열거 나 만들 때 복원하십시오. 문제가 무엇입니까? 변수를 만드는 방법을 모르십니까? = D – Sinatr

답변

3

응용 프로그램이 실행되는 동안 양식이 상태를 유지하기를 원하므로 솔루션은 매우 간단합니다. 양식을 닫지 않고 숨기 만하면됩니다. 다시 표시 할 준비가되면 표시하십시오. 화면에 다시 나타납니다. 모든 것이 그대로 남아 있습니다.

가장 간단한 경우에는 this.Closethis.Hide으로 대체하여이 작업을 수행 할 수 있습니다.

private void MyForm_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    if (e.CloseReason == CloseReason.UserClosing) 
    { 
     e.Cancel = true; // cancel the request to close 
     this.Hide();  // hide the form instead 
    } 
} 
: 사용자가 은밀 양식을 숨길 요청으로 다시 라우팅 폼을 닫습니다 모든 시도를 보장하기 위해 큰 빨간색 X 폼을 닫을 수 있기 때문에하지만, 약간의 기교보다 가능성이 더 복잡 필요하다

이 코드는 닫힌 이유를 확인하고 사용자가 시작한 닫는 요청임을 확인합니다. 이건 매우 중요합니다. 이 부분을 생략하면 프로그래밍 방식으로 양식을 닫을 수 없습니다.

+0

실행 사이에 상태를 유지하려면 직렬화를 사용해야합니까? (http://msdn.microsoft.com/en-us/library/ms233843.aspx#bkmk_relatedtopics) – user3563079

0

정적 변수에 데이터를 저장하면 프로그램을 닫을 때까지 데이터가 저장됩니다.

static string textboxText = textbox1.text; 
+0

또는 다른 사람이 제안한 것처럼 양식을 숨길 수 있습니다 ... –

관련 문제