1

它实际上是一张纸质文件——一种“保险表格”——保险客户在其中填写他们的信息。到目前为止,客户必须在纸上的空白字段中写下所有询问的信息,当然是用钢笔。但我决定在 WPF 中开发一个应用程序,保险公司代理人可以通过它轻松“输入”所需的信息,然后将它们打印在同一个“保险表格”上。

所以我需要创建一个空白的 A4 页面,并在页面的特定位置放置一些“文本框”。让用户调整它们在页面上的大小和位置,并填写一些文本。然后打印页面。

问题是,我该怎么做?我不知道我可以使用 C# .NET 和 WPF 中的哪种工具。System.Drawing也许 ?

4

2 回答 2

3

使用 Visual Studio,您将创建一个新的 WPF 应用程序,向项目和内部(的 XAML)添加一个新的UserControlUserControl ,然后在 Visual Studio 设计器中添加一个根布局面板,如StackPanelGrid,然后在该面板上您将添加用户需要填写的LabelTextBoxCheckBoxRadioButton等)。

然后,您可以将该 UserControl 与打印按钮或菜单条目一起放入主窗口(可能在ScrollViewer内,因为整个页面可能无法显示在屏幕上)。

然后,您可以在按钮的单击事件处理程序中UserControl使用PrintVisual轻松打印出整个内容。如果这就是你所需要的,你应该很快就完成了。

作为附加步骤,您可以设置控件和标签的样式,使其看起来更像您的纸质表单。

于 2012-11-19T11:26:01.227 回答
2

问题是你的表格看起来如何。如果您期望设计的东西 - 使用普通对象创建新窗口,并打印窗口而不显示 . 像:

var window = new YourWindow();

window.Show();

PrintDialog pd = new PrintDialog();

pd.PrintVisual(window,"MyForm");

window.Close();

展开,google如何打印 wpf 窗口

如果您需要更多分页文档(例如 Word 文档),您可以使用 RichTextBlock。它有允许你布局的类。然后将其打印为任何窗口,或者您可以直接从 RichTextBlock 打印。

我有一个应用程序可以做类似的事情,对我来说它更复杂,因为打印的表格经常变化。

我所做的是将文档作为 Word 获取,使用codeplex word add-in将其转换为 XAML ,进行一些更改,从而轻松生成表单。

于 2012-11-19T11:25:36.623 回答