By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,856 Members | 2,004 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,856 IT Pros & Developers. It's quick & easy.

Print the RichTextBox

P: n/a
Hi,

I use the RichTextBox in my program.
It will use different language in this RichTextBox (chinese and english
characters), and it set the "DualFont" and use different fonts.
By the way, how can I print out this content to printer easily?

Thanks!

James
Sep 13 '06 #1
Share this Question
Share on Google+
9 Replies


P: n/a
PS. Print the content with the same format of RichTextBox.
"James Wong" <cp*******@nospam.nospam撰寫於郵件新聞:Oh********* *****@TK2MSFTNGP03.phx.gbl...
Hi,

I use the RichTextBox in my program.
It will use different language in this RichTextBox (chinese and english
characters), and it set the "DualFont" and use different fonts.
By the way, how can I print out this content to printer easily?

Thanks!

James

Sep 13 '06 #2

P: n/a
"James Wong" <cp*******@nospam.nospamschrieb:
I use the RichTextBox in my program.
By the way, how can I print out this content to printer easily?
HOW TO: Print the Content of a RichTextBox by Using Microsoft Visual Basic
..NET
<URL:http://support.microsoft.com/?scid=kb;EN-US;811401>

Getting WYSIWYG Print Results from a .NET RichTextBox
<URL:http://msdn.microsoft.com/library/en-us/dnwinforms/html/wnf_RichTextBox.asp>

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Sep 13 '06 #3

P: n/a
Hi,

I solve this problem.
thank you for your solution~

James
"Herfried K. Wagner [MVP]" <hi***************@gmx.at>
???????:OG**************@TK2MSFTNGP05.phx.gbl...
"James Wong" <cp*******@nospam.nospamschrieb:
>I use the RichTextBox in my program.
By the way, how can I print out this content to printer easily?

HOW TO: Print the Content of a RichTextBox by Using Microsoft Visual Basic
.NET
<URL:http://support.microsoft.com/?scid=kb;EN-US;811401>

Getting WYSIWYG Print Results from a .NET RichTextBox
<URL:http://msdn.microsoft.com/library/en-us/dnwinforms/html/wnf_RichTextBox.asp>

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Sep 14 '06 #4

P: n/a
Hi,

I have another questions for the RichTextBox.

1) How can i get the height & width of content in this RichTextBox with font
format?
2) Can I set the position layout of RichTextBox in paper?

Thanks!

James

"Herfried K. Wagner [MVP]" <hi***************@gmx.at>
???????:OG**************@TK2MSFTNGP05.phx.gbl...
"James Wong" <cp*******@nospam.nospamschrieb:
>I use the RichTextBox in my program.
By the way, how can I print out this content to printer easily?

HOW TO: Print the Content of a RichTextBox by Using Microsoft Visual Basic
.NET
<URL:http://support.microsoft.com/?scid=kb;EN-US;811401>

Getting WYSIWYG Print Results from a .NET RichTextBox
<URL:http://msdn.microsoft.com/library/en-us/dnwinforms/html/wnf_RichTextBox.asp>

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Sep 14 '06 #5

P: n/a
Hi James,
>1) How can i get the height & width of content in this RichTextBox with
font format?

RichTextBox has a ContentsResized event, which will bring us the new
requested size in its event args. Is it what you need?
>2) Can I set the position layout of RichTextBox in paper?
I'm sorry that I couldn't understand what you mean. Could you please
explain more?

I look forward to your reply.
Sincerely,
Linda Liu
Microsoft Online Community Support

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.

Sep 14 '06 #6

P: n/a
Hi Linda,

I use the DualFont function in RichTextBox, but it seems not work.

example 1:
RichTextBoxPrintCtrl1.LanguageOption = RichTextBoxLanguageOptions.DualFont
RichTextBoxPrintCtrl1.Text = "{some chinese characters} ABCDEF"
RichTextBoxPrintCtrl1.Font = New Font("{chinese font}", 12)
RichTextBoxPrintCtrl1.Font = New Font("Gill Sans Ultra Bold", 40)

It occurs two fonts ("{chinese font}" & "Gill Sans Ultra Bold"), but the
font size is 40.
-----------------------------------------------------------------------------------------------------------

example 2:
RichTextBoxPrintCtrl1.LanguageOption = RichTextBoxLanguageOptions.DualFont
RichTextBoxPrintCtrl1.Text = "{some chinese characters} ABCDEF"
RichTextBoxPrintCtrl1.Font = New Font("Gill Sans Ultra Bold", 40)
RichTextBoxPrintCtrl1.Font = New Font("{chinese font}", 12)

It occurs one font only ("{chinese font}"), but the font size is 12.
-----------------------------------------------------------------------------------------------------------

Furthermore, I read this article. (
http://support.microsoft.com/?scid=kb;EN-US;811401 )
If my project has many RichTextBox, can I print these contents in one paper?

By the way, how can I set the coordinates of print out paper using
RichTextBox?
e.g. adjust to center, adjust 2 cm in left side...

Thanks~

James
"Linda Liu [MSFT]" <v-****@online.microsoft.com撰寫於郵件新聞:P4******** ******@TK2MSFTNGXA01.phx.gbl...
Hi James,
>>1) How can i get the height & width of content in this RichTextBox with
font format?

RichTextBox has a ContentsResized event, which will bring us the new
requested size in its event args. Is it what you need?
>>2) Can I set the position layout of RichTextBox in paper?

I'm sorry that I couldn't understand what you mean. Could you please
explain more?

I look forward to your reply.
Sincerely,
Linda Liu
Microsoft Online Community Support

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.
==================================================

This posting is provided "AS IS" with no warranties, and confers no
rights.

Sep 15 '06 #7

P: n/a
Hi James,

This is a quick note to let you know that I am researching on this issue
and will get it back to you ASAP.

I appreciate your patience.
Sincerely,
Linda Liu
Microsoft Online Community Support
Sep 15 '06 #8

P: n/a
Hi James,

Sorry for my delayed reply.

The LanguageOption property of RichTextBox is new in .NET 2.0. This
property gets or sets a value that indicates RichTextBox settings for Input
Method Editor (IME) and Asian language support. The default value of the
LanguageOption property of RichTextBox is AutoFont|DualFont. That's to say,
RichTextBox supports DualFont by default.

When a richtextbox supports DualFont, it doesn't means that we could set an
English font for ASCII text and an Asian font for Asian text at one time.
Instead, we should make use of the SelectionFont property of the
richtextbox to set fonts for the two kinds of text respectively.

For example, we could add two buttons called button1 and button2 on the
form. Click button1 to set an English font for ASCII text and click button2
to set an Asian font for Asian text. To set the ASCII text in the
richtextbox to the English font, select the ASCII text in the richtextbox
and click button1. To set the Asian text in the richtextbox to the Asian
font, select the Asian text in the richtextbox and click button2.
If my project has many RichTextBox, can I print these contents in one
paper?

In the sample provided in the Microsoft support website, the actual
printing work is done by the SendMessage Win32 API, which is called in the
Print method in the RichTextBoxPrintCtrl class. This line of code is 'res =
SendMessage(Handle, EM_FORMATRANGE, wparam, lparam);'. Note that the
richtextboxctrl control's Handle is passed to the SendMessage function.
This means that we could only print out the content in ONE richtextboxctrl
control at one time.

To print out the contents in several richtextboxctrls at one time in one
paper, we could copy the contents in all the richtextboxctrls into one
richtextboxctrl and print the total content out and restore the content in
the richtextboxctrl after the printing is finished. Suppose there're two
richtextboxctrls on the form. The following is a sample to print out
contents in both richtextboxctrls at one time.

void printDocument1_BeginPrint(object sender,
System.Drawing.Printing.PrintEventArgs e)
{
this.richTextBoxPrintCtrl2.SelectAll();
this.richTextBoxPrintCtrl2.Copy();

this.richTextBoxPrintCtrl1.Focus();
this.richTextBoxPrintCtrl1.SelectionStart =
this.richTextBoxPrintCtrl2.TextLength;
this.richTextBoxPrintCtrl1.Paste();

checkPrint = 0;
}

void printDocument1_EndPrint(object sender,
System.Drawing.Printing.PrintEventArgs e)
{
this.richTextBoxPrintCtrl1.Undo();
}
how can I set the coordinates of print out paper using RichTextBox? e.g.
adjust to center, adjust 2 cm in left side...

You could make use of the DefaultPageSettings property of PrintDocument to
set the page margin. The following is a sample.

this.printDocument1.DefaultPageSettings.Margins.Le ft = 200;

Hope this helps.
If you have anything unclear, please feel free to let me know.
Sincerely,
Linda Liu
Microsoft Online Community Support
Sep 19 '06 #9

P: n/a
Hi Linda,

thanks for the reply

James

"Linda Liu [MSFT]" <v-****@online.microsoft.com撰寫於郵件新聞:39******** ******@TK2MSFTNGXA01.phx.gbl...
Hi James,

Sorry for my delayed reply.

The LanguageOption property of RichTextBox is new in .NET 2.0. This
property gets or sets a value that indicates RichTextBox settings for
Input
Method Editor (IME) and Asian language support. The default value of the
LanguageOption property of RichTextBox is AutoFont|DualFont. That's to
say,
RichTextBox supports DualFont by default.

When a richtextbox supports DualFont, it doesn't means that we could set
an
English font for ASCII text and an Asian font for Asian text at one time.
Instead, we should make use of the SelectionFont property of the
richtextbox to set fonts for the two kinds of text respectively.

For example, we could add two buttons called button1 and button2 on the
form. Click button1 to set an English font for ASCII text and click
button2
to set an Asian font for Asian text. To set the ASCII text in the
richtextbox to the English font, select the ASCII text in the richtextbox
and click button1. To set the Asian text in the richtextbox to the Asian
font, select the Asian text in the richtextbox and click button2.
>If my project has many RichTextBox, can I print these contents in one
paper?

In the sample provided in the Microsoft support website, the actual
printing work is done by the SendMessage Win32 API, which is called in the
Print method in the RichTextBoxPrintCtrl class. This line of code is 'res
=
SendMessage(Handle, EM_FORMATRANGE, wparam, lparam);'. Note that the
richtextboxctrl control's Handle is passed to the SendMessage function.
This means that we could only print out the content in ONE richtextboxctrl
control at one time.

To print out the contents in several richtextboxctrls at one time in one
paper, we could copy the contents in all the richtextboxctrls into one
richtextboxctrl and print the total content out and restore the content in
the richtextboxctrl after the printing is finished. Suppose there're two
richtextboxctrls on the form. The following is a sample to print out
contents in both richtextboxctrls at one time.

void printDocument1_BeginPrint(object sender,
System.Drawing.Printing.PrintEventArgs e)
{
this.richTextBoxPrintCtrl2.SelectAll();
this.richTextBoxPrintCtrl2.Copy();

this.richTextBoxPrintCtrl1.Focus();
this.richTextBoxPrintCtrl1.SelectionStart =
this.richTextBoxPrintCtrl2.TextLength;
this.richTextBoxPrintCtrl1.Paste();

checkPrint = 0;
}

void printDocument1_EndPrint(object sender,
System.Drawing.Printing.PrintEventArgs e)
{
this.richTextBoxPrintCtrl1.Undo();
}
>how can I set the coordinates of print out paper using RichTextBox? e.g.
adjust to center, adjust 2 cm in left side...

You could make use of the DefaultPageSettings property of PrintDocument to
set the page margin. The following is a sample.

this.printDocument1.DefaultPageSettings.Margins.Le ft = 200;

Hope this helps.
If you have anything unclear, please feel free to let me know.
Sincerely,
Linda Liu
Microsoft Online Community Support


Sep 19 '06 #10

This discussion thread is closed

Replies have been disabled for this discussion.