以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 打印预览出现问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194912) |
-- 作者:18365900066 -- 发布时间:2025/2/5 18:02:00 -- 打印预览出现问题 “C1.Win.C1Preview.C1PreviewPane”的类型初始值设定项引发异常。 未能加载文件或程序集“C1.C1Zip.4, Version=4.0.20191.359, Culture=neutral, PublicKeyToken=79882d576c6336da”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040) 打印机预览按钮,我的电脑可以预览,换电脑不能预览了,但是可以打印出来。 预览代码这样写的 Dim cmb As WinForm.ComboBox = e.form.Controls("cmbprinters") Dim doc As PrintDoc = e.Form.gernateprintdoc() If cmb.Value <> "默认打印机" Then Doc.PrinterName = cmb.Value End If doc.Preview() |
-- 作者:18365900066 -- 发布时间:2025/2/5 18:05:00 -- ![]() ![]() |
-- 作者:有点蓝 -- 发布时间:2025/2/6 8:38:00 -- 发布后的程序?把没有问题的电脑的程序复制到有问题的电脑试试 |
-- 作者:18365900066 -- 发布时间:2025/2/6 12:24:00 -- 谢谢老师,我在换电脑试试, 请教您另外一个问题 我的用户 用 系统需要两个打印机,一个默认打印机,还需要另外热敏一个打印机, 问题是 这用户 好几位需要两台打印机,,但是他们的每个热敏打印机型号都不同, 怎么让用户的客服使用另外一个打印机的时候 打开这个窗口,直接自动切换到需要这个热敏打印机。 能让 用户 自己选择一次以后,就在本机 记住 此用户自己的选择么? Tables("打印快递单明细_Table1").Filter = "编号 = \'" & Vars("编号") & "\'" Dim v As String For Each p As String In InstalledPrinters v = v & "|" & p Next e.Form.Controls("cmbprinters").combolist = v |
-- 作者:有点蓝 -- 发布时间:2025/2/6 13:39:00 -- 到组合框valuechanged事件把用户选择的打印机保存到设置里:http://www.foxtable.com/webhelp/topics/1544.htm 在1楼代码后面读取设置给组合框赋值
|
-- 作者:18365900066 -- 发布时间:2025/2/7 16:12:00 -- 组合框valuechanged事件 Dim xm As String = Vars("姓名") Dim cmb As String = e.Form.Controls("cmbprinters").Value SaveConfigValue(xm, cmb) \'MessageBox.Show(GetConfigValue(xm,1)) 这个GetConfigValue离开了这个 组合框 控件就不能用了啊。 我在命令窗口执行 MessageBox.Show(GetConfigValue(xm,1)) 也没有结果 [此贴子已经被作者于2025/2/7 16:12:48编辑过]
|
-- 作者:有点蓝 -- 发布时间:2025/2/7 16:26:00 -- 组合框valuechanged事件 Dim cmb As String = e.sender.text if cmb > "" SaveConfigValue("打印机名称", cmb) else msgbox("没有选择打印机") end if 组合框设置的地方 Tables("打印快递单明细_Table1").Filter = "编号 = \'" & Vars("编号") & "\'" Dim v As String For Each p As String In InstalledPrinters v = v & "|" & p Next e.Form.Controls("cmbprinters").combolist = v dim name as string = GetConfigValue("打印机名称","") msgbox(name) e.Form.Controls("cmbprinters").text = name |
-- 作者:18365900066 -- 发布时间:2025/2/7 17:05:00 -- 谢谢有点蓝老师。谢谢 关于 一楼 和 二楼出现的 那个 打印预览错误 导致的原因如下 把foxtable.exe 改成 XXXX管理系统.exe导致 了窗口 预览出错的问题了。
[此贴子已经被作者于2025/2/7 17:22:09编辑过]
|
-- 作者:18365900066 -- 发布时间:2025/2/7 21:48:00 -- 第一段代码 Dim cmb As WinForm.ComboBox = e.form.Controls("cmbprinters") Dim doc As PrintDoc = e.Form.GernatePrintDoc() If cmb.Value <> "默认打印机" Then Doc.PrinterName = "cmb.Value" End If doc.Print() 上面代码只能 使用 窗口- 文件 - 页面设置 里面的打印机? 第二段代码 Dim cmb As WinForm.ComboBox = e.form.Controls("cmbprinters") Dim doc As PrintDoc = e.Form.GernatePrintDoc() Select Case Vars("姓名") Case "张三" Doc.PrinterName = "Gprinter GP-1124D" doc.Print() Case "李四" Doc.PrinterName = "HP DJ 2130 series" doc.Print() End Select \'\'------------这个上面代码能指定 那个账号用那个打印机 老师您好,为什么第一段代码指定不了打印机,第二段代码就可以按名字指定打印机?
[此贴子已经被作者于2025/2/7 21:48:35编辑过]
|
-- 作者:有点蓝 -- 发布时间:2025/2/8 8:57:00 -- Doc.PrinterName = cmb.Value 调试看区别
msgbox(cmb.Value) msgbox("cmb.Value") |