none
.NET (VB 2003, 2005, 2008, 2010, 2011) 에서의 툴팁(Tooltip) 사용 예제

    דיון כללי

  • [VB.NET] .NET 에서의 툴팁(Tooltip) 사용 예제
     
    NET 에서는 6.0과 달리 ToolTip 컨트롤이 따로 있습니다.

    6.0 에서는 컨트롤 마다 ToolTip 속성이 있어서 거기에 내용만 넣으면 됐는데 .NET 은 그렇지 못하죠.

    아무리 찾아봐도 ToolTip 이라는 속성을 찾을 수 없습니다.

    컨트롤로 빠졌기 때문이죠.

    그런데 이놈의 것이 컨트롤을 폼에 올려놓아도 어떻게 쓰는지 모르는 분이 많으실 겁니다.

    그래서 간단하게 팁 하나올립니다.

     

    툴팁컨트롤을 폼에 올려놓으시면 디자인창 하단에 툴팁 컨트롤이 올라갑니다.

    그러면 컨트롤은 신경쓰지 마시고 텍스트 박스 같은 다른 박스들의 속성을 다시 보십시오.

    ToolTip1 에서 ToolTip 이라는 속성이 생겼습니다.

    거기에 텍스트를 넣고 프로그램을 실행하면 툴팁이 보입니다.

    6.0 때와는 달리 이쁜 풍선 도움말이 나옵니다.

    아이콘도 나오고 제목과 내용이 따로 나오는 툴팁!!!

    툴팁자체의 속성은 툴팁컨트롤에서 직접 해주시면 됩니다.

     

    근데 발생되는 문제는 속성창에 쓰다보니 여러줄을 쓸수가 없는게 문제가 됩니다.

    코딩으로 넣고 싶은데 그럴때는 아래와 같이 하시면 됩니다.

     

    Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Dim i as Object

     For Each i in Controls '폼의 각 컨트롤을 루프돕니다.

      if typeof i is textbox then  '읽은 컨트롤이 텍스트 박스이면

       tooltip1.SetToolTip(i, GetText(Replace(i.Name,"txt","")))  '컨트롤 이름에서 txt 뺀 나머지 이름으로 함수를 호출

      ElseIf typeof i is CheckBox then  '컨트롤이 체크박스이면

       tooltip1.SetToolTip(i, GetText(Replace(i.Name,"chk",""))) '컨트롤 이름에서 chk 뺀 나머지 이름으로 함수를 호출

      End if

     Next

    End Sub

     

    처럼 하시면 컨트롤 이름을 이용해 툴팁을 따로 줄수 있습니다. 이제 GetText 함수만 만들면 되겠죠.

     

    Private Function GetText(ObjectName as String) as String

    Select Case Ucase(ObjectName)

     Case "NAME"

      GetText = "이름을 입력하는 란입니다."

     Case "M_SEX"

      GetText = "남자일 경우 체크하세요."

     Case "W_SEX"

      GetText = "여자일 경우 체크하세요."

     Case "REG"

      GetText = "주민등록번호를입력하세요."+vbcrlf

      GetText += "뒷자리는 보이지 않고 저장될때 암호화 됩니다."

    End Case

    End Function

     

    식으로 툴팁 적는 함수를 별도로 만들어 관리하시면

    편하실 듯 합니다.

     

    이상 Devlife 였습니다.


    • נערך על-ידי devlife יום רביעי 02 נובמבר 2011 06:39
    • שינה את הסוג devlife יום רביעי 02 נובמבר 2011 06:40
    יום רביעי 02 נובמבר 2011 06:39

כל התגובות