使用数据库启用/禁用表单

时间:2017-01-19 09:31:01

标签: vb.net visual-studio visual-studio-2010

我想使用数据库启用/禁用按钮 Account Types

由于要启用/禁用按钮的帐户类型很多,因此通过代码控制此类活动将需要过多的LOC(代码行)。
是否有任何简短的方法可以启用/禁用按钮。

2 个答案:

答案 0 :(得分:0)

禁用当前表单上所有按钮的最短解决方案:

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

答案 1 :(得分:0)

还没有其他解决方案。让我用我之前用于此类活动的方法解释我的问题,如果没有另外的方法或解决方案,可以作为答案。

首先看看下面的图片(或链接) This is the Image.

  1. 这是用户使用其ID&通过。所有用户都有用户帐户类型,例如管理员用户等
  2. 现在一些用户(具有优先级)可以在需要时创建新类型的用户帐户类型并将其保存到DB,以启用或禁用此类用户的活动,例如他希望某类用户不要删除。因此,他禁用删除(表单/按钮/选项卡[这些是后端进程。您使用过的将为此用户禁用。])
  3. 在表格2中我禁用标签。
  4. 在表单3中我禁用按钮。
  5. 出于这样的目的,我使用类并从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图像,我直接展示了这个方法而不涉及DB。如果想要使用DB,那么他/她可以使用上层方法 The Output.