여러 형태가 있습니다. 그중 하나는 설정이라고하며 다음 코드가있는 확인란을 포함합니다.
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
this.TopMost = true;
}
else if (!checkBox1.Checked)
{
this.TopMost = false;
}
}
이제 이것은 설정 양식에있을 때만 작동합니다. 프로그램 양식 (설정 양식을 닫음)과 같은 다른 양식을 열 자마자 맨 위에 유지되지 않습니다. 확인란 ApplicationSettings 속성을 통해 사용자가 설정 양식을 닫았다가 다시 열면 이미 확인란이 선택 / 선택 해제 상태로 유지되도록했습니다. 그러나 이것은 항상 상위 기능이 다른 양식에서 작동하도록 만들지 않습니다.
설정 양식에서 확인란을 선택하고 확인란 양식을 닫은 후 다른 양식도 다른 프로그램 위에 유지되도록하려면 어떻게해야합니까?
프로젝트의 Settings 파일에 bool 속성을 생성하고 체크 박스에 체크 된 속성을 설정에 저장합니다. 그런 다음 각 양식에 대해 TopMost
속성을 해당 설정에 바인딩 할 수 있습니다 . 바인딩 논리를 기본 양식 안에 넣고 다른 양식에서 파생시킬 수도 있습니다.
예
솔루션 탐색기 → 프로젝트 → 속성 노드 → Settings.settings를 두 번 클릭합니다.
새 속성 Name = TopMost
및 Type =을 추가 bool
하고 값을 false
로 설정하고 범위 = User
를 설정하고 설정을 저장합니다.
설정 편집을 담당하는 양식에서 Load
이벤트 처리기 에서 설정 Checked
값을 읽고 저장 버튼 CheckBox
의 Click
이벤트 처리기에서을 CheckBox.Checked
설정 속성에 저장합니다 .
private void SettingForm_Load(object sender, EventArgs e)
{
topMostCheckBox.Checked = Properties.Settings.Default.TopMost;
}
private void SaveButton_Click(object sender, EventArgs e)
{
Properties.Settings.Default.TopMost = topMostCheckBox.Checked;
Properties.Settings.Default.Save();
}
다른 양식 또는 기본 양식에서 디자이너 또는 코드를 사용하여 설정에 대한 속성 바인딩을 설정합니다.
private void BaseForm_Load(object sender, EventArgs e)
{
this.DataBindings.Add(new Binding("TopMost", Properties.Settings.Default,
"TopMost", true, DataSourceUpdateMode.OnPropertyChanged));
}
데이터 바인딩을 사용하여 설정되었으므로 설정을 저장 TopMost
하자마자이 기본 양식에서 파생 된 모든 새롭고 열린 양식에 적용됩니다.
추가 정보:
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다