1

これは実際には、保険の顧客が情報を記入する物理的な紙 (「保険フォーム」) です。これまでは、顧客は紙の空欄に質問されたすべての情報を、もちろんペンを使用して記入する必要がありました。しかし、保険会社のエージェントが必要な情報を簡単に「入力」して、同じ「保険フォーム」に印刷できるアプリケーションを WPF で開発することにしました。

そのため、空白の A4 ページを作成し、ページの特定の場所に多数の「テキスト ボックス」を配置する必要があります。ユーザーがページ上のサイズと位置を調整し、テキストを入力できるようにします。次に、ページを印刷します。

問題は、どうすればいいですか?C# .NET と WPF でどのようなツールを使用できるかわかりません。System.Drawing多分 ?

4

2 に答える 2

3

Visual Studio を使用して、新しい WPF アプリケーションを作成し、新しいUserControlをプロジェクトに追加し、Visual Studio デザイナーでその内部 (の XAML) に、 StackPanelGridUserControlなどのルート レイアウト パネルを追加し、そのパネルにユーザーが入力する必要があるLabelおよびTextBox es ( CheckBoxRadioButtonなど) を追加します。

次に、その UserControl をメイン ウィンドウ (ページ全体が画面に収まらない可能性があるため、おそらく ScrollViewer 内)に、印刷ボタンまたはメニュー エントリと共に配置します。

次に、ボタンのクリック イベント ハンドラでPrintVisualUserControlを使用して、全体を簡単に印刷できます。必要なものがすべて揃っている場合は、かなり迅速に完了する必要があります。

追加の手順として、コントロールとラベルのスタイルを設定して、紙のフォームのように見せることができます。

于 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 アドインを使用して XAML に変換し、いくつかの変更を加えてフォームを簡単に作成することです。

于 2012-11-19T11:25:36.623 に答える