机房收费系统-优化

在机房收费系统基本窗体实现以后进行整体的优化。

  • 比如一些界面的美化、控件的大小和字体、控件是否可以输入、控件的输入条件—(数字、字母、汉字)、清空等
  • 整体的父子窗体的大小
  • msflexgrid控件随内容的大小变化而变化
  • 时间控件和数据库中时间格式是否一致

列举部分问题及其解决方法如下:

1.dtpicker控件的时间和日期格式设置

Private Sub DTP1_Change()
'如果选择上下机日期
If Trim(Comfield1.Text) = "上机日期" Or Trim(Comfield1.Text) = "下机日期" Then
    Text1.Text = DTP1.Value
Else
    If Trim(Comfield1.Text) = "上机时间" Or Trim(Comfield1.Text) = "下机时间" Then
        '将dtpicker控件改为time格式,并可见
        DTP1.Format = dtpTime
        DTP1.Value = Time
        Text1.Text = DTP1.Value
    End If
End If
End Sub

2.选中表并更改颜色,格式

Dim col As Integer
     If MSFlexGrid1.Rows < 2 Then
          Exit Sub
    End If    
    If MSFlexGrid1.row < 1 Or MSFlexGrid1.row > MSFlexGrid1.Rows - 1 Then
           Exit Sub
    End If
        
     If MSFlexGrid1.TextMatrix(MSFlexGrid1.row, 0) = "√" Then
            MSFlexGrid1.TextMatrix(MSFlexGrid1.row, 0) = ""
            '改变行颜色(变为没选中之前的)
      For col = 0 To MSFlexGrid1.Cols - 1
      MSFlexGrid1.col = col
      MSFlexGrid1.CellBackColor = vbWhite
      Next col
  Else
          MSFlexGrid1.TextMatrix(MSFlexGrid1.row, 0) = "√"
            '改变行颜色(选中后的颜色)
     For col = 0 To MSFlexGrid1.Cols - 1
     MSFlexGrid1.col = col
     MSFlexGrid1.CellBackColor = vbRed
     Next col
     End If
3.时间比较,时间格式设置

Private Sub DTPicker1_Change()
    DTPicker1.Format = dtpCustom
    DTPicker1.CustomFormat = "yyyy-MM-dd" '设置DTPicker控件的显示格式为yyyy-MM-dd格式
    
    date1 = DTPicker1.Value
    date2 = DTPicker2.Value
    date3 = Format(Date, "yyyy-MM-dd") '获得实际日期
    
     '比较起始日期和实际日期的大小
    If DateDiff("n", CDate(date1), CDate(date3)) < 0 Then
        MsgBox "超过规定日期,请重新选择日期!", vbOKOnly + vbExclamation, "提示"
        Exit Sub
    End If
    
4.设置msflexgrid控件的各个列宽

代码一:

Private Sub Form_Load()    
    '设置msflexgrid控件的宽度
    MSFlexGrid1.ColWidth(0) = 800
    MSFlexGrid1.ColWidth(1) = 2000
    MSFlexGrid1.ColWidth(2) = 2000
    MSFlexGrid1.ColWidth(3) = 2000
    MSFlexGrid1.ColWidth(4) = 2000
End Sub

代码二:

'目的随着内容改变更改列的宽的
Public Sub AdjustColWidth(frmCur As Form, 
gridCur As Object, 
Optional bNullRow As Boolean = True, 
Optional dblIncWidth As Double = 0)

 Dim i As Integer
 Dim j As Integer
 Dim dblWidth As Double

 With gridCur   'msflexgrid1
      For i = 0 To .Cols - 1
        dblWidth = 0
          If .ColWidth(i) <> 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 j
             .ColWidth(i) = dblWidth + dblIncWidth + 550
          End If
      Next i
 End With
End Sub
调用函数:
AdjustColWidth frminquiryrechargerecord, MSFlexGrid1





评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值