2013-09-22 3 views
0

MDI 형식 인 Form1이 있습니다. Form2 (ChildForm)에서 서식있는 텍스트 상자가 있습니다.MDI 상위 서식 파일 인 서식있는 텍스트 상자의 텍스트 색을 변경하려면 어떻게합니까?

"서식"옵션이있는 메뉴 모음이 있습니다. 이 밑에 나는 글꼴, 크기 및 색깔이있다. Font 메서드를 통해 글꼴과 크기를 변경하는 것은 쉽지만 색상은 다른 이야기처럼 보입니다.

또한 리치 텍스트 상자가 자식 폼에 있고 색 변경시 새 자식 폼이 만들어지지 않기 때문에 직접 서식있는 텍스트 상자를 호출 할 수 없습니다.

//when Black is clicked in Color/Format 
private void blackToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    //change color to black 

} 

//when Red is clicked in Color/Format 
private void redToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    //change color to red 

} 



보너스 질문 : 당신이 큰 무언가의 크기를 변경할 때 나는 또한 크기 조정을 다시 자식 폼에 문제가 있어요

. 전체 자식 폼은 텍스트 크기보다 커집니다. 더 작은 텍스트 크기로 돌아 가면 자식 폼은 같은 크기를 유지하고 richTextBox는 더 작아집니다. 이것은 텍스트 크기 변경을위한 코드입니다. 어떤 아이디어가 있습니까?

//when 8 is clicked in Size/Format 
private void toolStripMenuItem2_Click(object sender, EventArgs e) 
{ 
    //change size to 8 
    ActiveMdiChild.Font = new Font(ActiveMdiChild.Font.Name, 8); 
} 

크기를 변경하지 않으려면 속성을 변경해야합니까?

+0

당신의 자녀 양식에 public 속성을 만들고 리치 텍스트 상자의 색을 변경하는 데 사용해 보았습니까? –

답변

0

자식 폼의 컨트롤로 작업하려면 Controls 컬렉션을 사용하고 컨트롤의 이름을 사용하여 richTextBox을 참조하십시오. 당신이 아이의 AutoSize 속성을 시도로 설정 한 경우 궁금 해서요 보너스의 질문에 대해

ActiveMdiChild.Controls["richTextBox1"].ForeColor = Color.Blue; 

예를 들어 나는 richTextBox 내가 MDI 부모로부터 참조하기 위해 다음과 같은 코드를 사용할 수 있습니다 richTextBox1 이름이있는 경우 그릇된.

리처드

관련 문제