컨트롤의 값을 참조하는 VC++의 사용자 정의 클래스 문제에 대해
2개의 프로젝트로 나누어졌습니다.
솔루션>프로젝트>클래스
VS는 사용자 컨트롤 유형을 생성하기 위한 프로젝트도 제공합니다. 방법을 하나 알려드리겠습니다. 이것에만 국한하지 마세요.
다음 속성을 갖도록 텍스트 상자를 사용자 정의해야 한다고 가정합니다. 기본 문자열이 있고 이 문자열이 텍스트 상자에 표시되며 텍스트 상자에 포커스가 오면 텍스트 상자에서 기본 문자가 지워집니다. 문자열, 텍스트 상자가 포커스를 잃으면 텍스트 상자의 내용이 비어 있으면 이 기본 문자열이 표시됩니다.
1. 새로운 솔루션을 생성합니다. Solution1.
파일-새 프로젝트-기타 유형의 프로젝트-Visual Stdio Blank 솔루션
2. 이 솔루션에 2개의 프로젝트를 추가합니다: Solution1Test
해결하려면 마우스 오른쪽 버튼을 클릭하세요. 솔루션-새 프로젝트 추가-Windows Forms 응용 프로그램(프로젝트 이름: Solution1Test)
솔루션-새 프로젝트 클래스 라이브러리 추가(프로젝트 이름: MyTextBox)를 마우스 오른쪽 버튼으로 클릭합니다.
3. 이때 시스템은 자동으로 MyTextBox에 Class1 클래스를 생성하고 이름을 MyTextBox로 바꾼 다음 필요한 참조를 추가합니다:
System 사용;
System.Collections 사용. ;
System.ComponentModel 사용;
System.Data 사용;
System.드로잉 사용;
System.Linq 사용; /p>
system.Text 사용;
System.Windows.Forms 사용;
그런 다음 다음 내용을 작성하십시오:
namespace MyTextBox< /p >
{
public class MyTextBox:TextBox
{
///
/// 기본 문자열
///
string _DefaultString;
///
// / 기본 문자열
///
공개 문자열 DefaultString
{
set { _DefaultString = value; > this.Text = value; }
}
public MyTextBox()
{
_DefaultString = "다음을 입력하세요. 키워드";
this.Text = this._DefaultString;
}
protected override void OnEnter(EventArgs e)
{
if (this.Text == this._DefaultString)
{
this.Text = string.Empty;
} p>
base.OnEnter(e);
}
보호된 재정의 void OnLeave(EventArgs e)
{
if (this.Text == string.Empty)
{
this.Text = this._DefaultString;
} p>
기본 .OnLeave(e);
}
}
}
4. MyTextBox 프로젝트를 마우스 오른쪽 버튼으로 클릭하세요.
생성하면 bin 디렉토리 아래에 자연스럽게 dll 파일이 생성됩니다.
5. Solution1Test로 이동하여 MyTextBox에 대한 참조를 추가합니다. 이때, 왼쪽의 도구 상자에 MyTextBox가 보일 것입니다. 이를 폼에 직접 드래그한 다음 폼의 생성자에서 MyTextBox의 기본 문자열을 설정하면 됩니다. 물론 설정할 수는 없습니다. MyTextBox의 생성자가 기본 문자열을 초기화했습니다:
public Form1()
{
InitializeComponent();
this.myTextBox1.DefaultString = "키워드를 입력하세요";
}
6. 실행하면 예상한 대로 효과가 나타납니다.
또한 Tuan IDC는 온라인에서 많은 제품 그룹 구매를 하고 있으며 가격이 저렴하고 평판이 좋습니다