질문

C# 텍스트박스 커서 숨기기 실명인증 받은 성인 내공20

비공개
질문7건
질문마감률40%
질문채택률40%
2018.01.07. 23:42
조회수10

제가 텍스트 박스를 ReadOnly 용으로만 사용하려는데 텍스트박스를 클릭하면 생기는 커서가 걸리적 거리네요...

커서를 숨길 수 있는 방법 좀 알려주세요.



위와같은 질문이 있어서 가장 간단한 방법으로 비활성 제어로 답변을 드렸습니다.


textBox1.Enabled = false;


Enabled 제어를 하시면 커서가 없어지는대신 배경색이 Gray가 되긴 합니다만,

질문에 대한, 커서가 없어지는 효과를 보실수 있습니다.

WPF 의 경우 TextBox 컨트롤의 Enabled 속성을 False 로 하게되면,

ForeColor 또는 BackGround 설정이 먹히지 않는다.

Enabled = False 설정으로 인해서 TextBox의 모든 설정이 Windows Default 로 막혀버리기 때문이다.


이 문제를 해결하기 위해서

IsReadOnly 속성을 이용해서 해결이 가능하다.

예를 들어서,

TextBox 에 입력은 안되게 하고, 배경색만 Gray 로 하고싶다면,


IsReadOnly="True" 

BackGround = "Gray"


로 설정하면 된다.


또한, 이렇게 설정하게되면

Enabled = False 시에는 되지않았던, 스크롤문제도 해결할수있다.

비활성 되어있는경우는 MultyTextLine으로 복수행 데이터 입력이 되어있다 하더라도, 스크롤을 제어할수가 없게된다.

이 문제역시 위와같은 방법으로 

마치, Enabled = false 제어가 된듯한 효과를 기대할수 있다.

+ Recent posts