【发布时间】:2018-05-06 15:49:30
【问题描述】:
我正在开发一个简单的 VB.Net Windows 表单应用程序,我在其中填写表单,并将结果打印到打印机或保存 PDF。我遇到问题的一个部分是如何在多次打印表单时清除先前的组合框选择。
例如,在表单上,用户可以选择 6 个不同的选项: 假期、医疗、公司业务、个人业务、牙科和其他。当我运行我的程序并选择“假期”并预览表格时,选择了“假期”。但是,当我关闭预览窗口并进行另一个选择时,“医疗”和预览表单现在都出现了。如果我在不关闭整个应用程序的情况下重复该过程,则将选择所有项目。有没有办法通过事件或修改我的逻辑来清除以前的选择?谢谢
Private Sub UltraTextEditor12_SelectionChanged(sender As Object, e As EventArgs) Handles UltraTextEditor12.SelectionChanged
Dim Counter As Integer = 10
For a As Integer = 0 To 6
If Me.UltraTextEditor12.SelectedIndex = a Then
C1Report1.Fields("Field" & Counter).Text = "XX"
End If
Counter += 1
Next
End Sub
我想知道,我应该在我的 Print 方法中调用这个方法吗?我正在研究那会是什么样子。这是我的打印方法:
Private Sub Print(Optional ByVal PPreview As Boolean = False)
ErrorProvider1.Clear()
ErrorProvider2.Clear()
If UltraTextEditor3.Text > UltraTextEditor6.Text Then
ErrorProvider1.SetError(UltraTextEditor3, "From Date Must Be Earlier Than Through Date.")
ErrorProvider2.SetError(UltraTextEditor6, "Through Date Must Be Later Than From Date.")
Return
End If
Try
Dim report As C1.Win.C1Report.C1Report = C1Report1
System.Windows.Forms.Cursor.Current = Cursors.WaitCursor
Dim pd As PrintDocument
If My.Application.Info.AssemblyName.Contains("Laser") Then
pd = C1Report1.Document
Else
pd = SetPrinter(OTF_Forms, C1Report1, Me)
End If
pd.PrinterSettings.PrinterName = pd.DefaultPageSettings.PrinterSettings.PrinterName
PushFormValues(report)
RequestInfo()
If PPreview Then
Dim preview As New Previewer
preview.C1PrintPreview1.Document = pd
preview.ShowDialog()
Else
pd.Print()
End If
System.Windows.Forms.Cursor.Current = Cursors.Default
Me.btnClose.Focus()
ctrlkey = False
Me.btnPrint.Text = "Print"
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
【问题讨论】:
-
你找错地方了。一个 CBO 最多只能有一个选定的项目。第二次显示 2 个片段的事实意味着您在其他地方有一些东西在积累选择
-
我也添加了我的 Print 方法。不确定我是否需要在那里添加逻辑以确保选择得到更新。正在尝试做更多的研究。
标签: .net vb.net forms winforms combobox