2017-01-19 1 views
0

데이터베이스를 사용하여 단추를 활성화/비활성화 할 수 있습니다.
Account Types데이터베이스를 사용하여 양식 활성화/비활성화

버튼에 계정의 많은 종류가있을 것입니다 때문에 따라서 너무 많은 LOC이 필요합니다 코드를 통해 활동 같은 종류 (코드 라인)를 제어, 활성화/비활성화 할 수 있습니다.
버튼을 활성화/비활성화 할 수있는 짧은 방법이 있습니까? 현재 양식에 모든 버튼을 비활성화하는

답변

0

없음 솔루션입니다. 그런 종류의 활동을 위해 사용하고있는 이전 방법으로 내 질문을 설명하고 다른 방법이나 솔루션이 없다면 Answer를 설명해 보겠습니다.

먼저 아래 이미지 (또는 링크)를 살펴보십시오.
This is the Image.

  1. 이 사용자가 자신의 ID & 패스를 사용하여 로그인하는 기본 형태이다. 모든 사용자는 사용자 계정 유형을 갖습니다. 관리 & 사용자 등
  2. 일부 사용자 (우선 순위 포함)는 필요할 때 새로운 유형의 사용자 계정 유형을 생성하고이를 DB에 저장하여 이러한 유형의 사용자에 대한 활동을 활성화 또는 비활성화 할 수 있습니다. 그는 일종의 사용자가 삭제하지 않기를 바라고 있습니다. 따라서 양식을 삭제할 수 없습니다 (양식/단추/탭 [백엔드 프로세스입니다.])
  3. 양식 2에서 탭을 비활성화합니다.
  4. 3 양식에서 버튼을 사용할 수 없습니다.

이러한 용도로 저는 내가 원하는 것을 활성화/비활성화하기 위해 클래스에서 클래스를 호출하고 Main에서 호출합니다. 아래의 코드를 살펴보십시오.

Imports System.Data.SqlClient 
Public Class User_Types 
Dim con As SqlConnection = New SqlConnection("Data Source=.;Initial Catalog=Try;Integrated Security=True") 
Dim cmd As SqlCommand 
Dim dr As SqlDataReader 
Dim a, b, c, d, e As Boolean 

Public Sub UTypes() 
    cmd = New SqlCommand("Select * from User_Account_Types where AT_Name = '" & Main.UsrAcnType & "'", con) 
    If con.State = ConnectionState.Closed Then con.Open() 
    If dr.Read() Then 
     a = dr.Item("Val1") 
     b = dr.Item("Val2") 
     c = dr.Item("Val3") 
     d = dr.Item("Val4") 
     e = dr.Item("Val5") 
    End If 
    If a = True Then Form3.Btn_add.Enabled = False Else Form3.Btn_add.Enabled = True 

    If b = True Then Form3.Btn_update.Enabled = False Else Form3.Btn_update.Enabled = True 

    If c = True Then Form3.Btn_delete.Enabled = False Else Form3.Btn_delete.Enabled = True 

    If d = True Then Form2.TC.TabPages(0).Enabled = False Else Form2.TC.TabPages(0).Enabled = True 

    If e = True Then Form2.TC.TabPages(1).Enabled = False Else Form2.TC.TabPages(1).Enabled = True 

End Sub 
End Class 

이것은 프로그래밍의 많은 부분을 볼 수있는 오래된 방법입니다. 그러한 활동을 처리하는 간단한 방법이 필요했습니다.

희망 이것은 새로운 사용자를 많이 도울 수 있지만 새로운 무언가를 적용하고 싶습니다.

이 Gif Image를 출력으로 보았습니다. DB를 사용하지 않고이 방법을 직접 보여 줬습니다. DB를 사용하기를 원한다면 상위 메소드를 사용할 수 있습니다.
The Output.

0

최단 솔루션 : 아직

For Each c As Control In Me.Controls 
     If TypeOf c Is Button Then c.Enabled = False 
    Next 
+0

버튼의 이름이 다른 형태 일 경우 어떻게해야합니까? – Habib

+0

enable 속성을 false 또는 True로 설정하는 조건을 추가해야합니다. – nbadaud

+0

이 코드는 컨트롤이 단추인지 확인합니다. 버튼의 이름은 중요하지 않습니다. 원하는 경우 다른 양식에서도이 작업을 수행 할 수 있습니다. – muffi