1. 程式人生 > >機房收費系統之總結(一)

機房收費系統之總結(一)

機房收費系統涉及到的版塊比較多,因此涉及到的功能也比較多,而這些功能恰巧是需要用程式碼來實現的,下面我就來做一些分享了。

第一:如何一鍵刪除vb窗體中所有控制元件的內容,(省程式碼的操作)

rem:一鍵清除vb控制元件中所有的內容

Private Sub cmdclear_Click()
    Dim ctrl As Control

    For Each ctrl In Me.Controls
            Rem:如果控制元件的型別為combo
            If TypeOf ctrl Is ComboBox Then
                    ctrl.Text = ""
            End If

            Rem:如果控制元件的型別是text
            If TypeOf ctrl Is TextBox Then
                    ctrl.Text = ""
            End If

            Rem:如果控制元件的型別是msflexgrid
            If TypeOf ctrl Is msflexgrid Then
                    ctrl.Clear
            End If
    Next
    
End Sub

第二:vb中msflexgrid控制元件的單元格如何自動隨著內容的大小而調整:

第一:在module窗體中建立共有過程

Rem:定義msflexgrid的自動列寬
Public Sub adjustcolwidth(frmcur As Form, gridcur As Object, Optional bnullrow As Boolean = True, Optional dbllncwidth As Double = 0)
        
Rem:定義列數和函式的代表值
Dim i, j As Integer

Rem:定義寬度

Dim dblwidth As Double
        
        
        With gridcur
        
            For i = 0 To .Cols - 1
                dblwidth = 0
                If .ColWidth(0) <> 0 Then
                   For j = 0 To .Rows - 1
                       If frmcur.TextWidth(.TextMatrix(j, i)) > dblwidth Then
                              dblwidth = frmcur.TextWidth(.TextMatrix(j, i))
                       End If
                   Next
                   
                   .ColWidth(i) = dblwidth + dbllncwidth + 1899
                End If
            Next
        End With
        
End Sub

第二:然後再其他的窗體中直接呼叫即可
call adjustcolwidth(frmcur,gridcur,true,0)

第三:frmcur代表你窗體的名字,gridcur代表msflexgrid控制元件的名字,在module中按第一步的程式碼來敲即可
,而在其他窗體呼叫時需要用上你的窗體的名字和控制元件的名字,假如你窗體的名字為frmuser,而控制元件的名字為msflesgrid1,則呼叫的語句為call(frmuser,msflexgrid1,true,0)

希望這兩樣東西能為大家帶來幫助!!!