C #에서 한 양식의 확인란을 선택한 경우 모든 양식을 항상 맨 위에 표시하려면 어떻게해야합니까?

AryTuber

여러 형태가 있습니다. 그중 하나는 설정이라고하며 다음 코드가있는 확인란을 포함합니다.

   private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked)
            {
                this.TopMost = true;
            }
            else if (!checkBox1.Checked)
            {
                this.TopMost = false;
            }
        }

이제 이것은 설정 양식에있을 때만 작동합니다. 프로그램 양식 (설정 양식을 닫음)과 같은 다른 양식을 열 자마자 맨 위에 유지되지 않습니다. 확인란 ApplicationSettings 속성을 통해 사용자가 설정 양식을 닫았다가 다시 열면 이미 확인란이 선택 / 선택 해제 상태로 유지되도록했습니다. 그러나 이것은 항상 상위 기능이 다른 양식에서 작동하도록 만들지 않습니다.

설정 양식에서 확인란을 선택하고 확인란 양식을 닫은 후 다른 양식도 다른 프로그램 위에 유지되도록하려면 어떻게해야합니까?

Reza Aghaei

프로젝트의 Settings 파일에 bool 속성을 생성하고 체크 박스에 체크 된 속성을 설정에 저장합니다. 그런 다음 각 양식에 대해 TopMost속성을 해당 설정에 바인딩 할 수 있습니다 . 바인딩 논리를 기본 양식 안에 넣고 다른 양식에서 파생시킬 수도 있습니다.

  1. 솔루션 탐색기 → 프로젝트 → 속성 노드 → Settings.settings를 두 번 클릭합니다.

  2. 새 속성 Name = TopMost및 Type =을 추가 bool하고 값을 false로 설정하고 범위 = User를 설정하고 설정을 저장합니다.

  3. 설정 편집을 담당하는 양식에서 Load이벤트 처리기 에서 설정 Checked값을 읽고 저장 버튼 CheckBoxClick이벤트 처리기에서을 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();
     }
    
  4. 다른 양식 또는 기본 양식에서 디자이너 또는 코드를 사용하여 설정에 대한 속성 바인딩을 설정합니다.

     private void BaseForm_Load(object sender, EventArgs e)
     {
         this.DataBindings.Add(new Binding("TopMost", Properties.Settings.Default, 
             "TopMost", true, DataSourceUpdateMode.OnPropertyChanged));
     } 
    

데이터 바인딩을 사용하여 설정되었으므로 설정을 저장 TopMost하자마자이 기본 양식에서 파생 된 모든 새롭고 열린 양식에 적용됩니다.

추가 정보:

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관