簡體   English   中英

在 winforms 文本框 C# 上打印

[英]Printing on a winforms textbox C#

使用 C# 我想制作一個 winforms 計算器應用程序,但為了顯示數字,我需要在文本框上打印數字。 我怎樣才能做到這一點? 我的設計是使用文本框來顯示數字,但是我在文檔中沒有看到任何打印命令。 我檢查了 mircrosoft 文檔,發現 `print()` 不起作用,當我嘗試使用失敗的文本時。 我應該使用什么命令以及如何使用它? 我的文本框是使用工具箱而不是代碼添加的,我的按鈕也是如此。 也許問題出在按鈕上?

public void button_click(object sender, System.EventArge e)
{
  X = 1; // One of the variables the user types in.
  TextBox TextBox1 = new TextBox();// Trying to make an object for textbox.
  XX = Covert.ToString(X);//TextBox only accepts strings so X was to be one...
  TextBox1.Text = XX;//Hoping this will display now it doesn’t help!
}

在此處輸入圖片說明

在此處輸入圖片說明

要在富文本框中顯示一些文本,您可以使用屬性 Text:

const string textToDisplay = "Hello World!";
this.richTextBox1.Text = textToDisplay;

這將顯示未格式化的文本。

要顯示格式化文本,請使用RichTextBox.Rtf

string textWithRtfCodes = ...
this.richTextBox1.Rtf = textWithRtfCodes;

通常帶有 rtf 代碼的文本來自另一個來源。 雖然可以自己將格式代碼添加到文本中,但將代碼添加為選定文本然后更改選定文本的屬性通常更簡單。

void AppendRedBoldText(string text)
{
    this.richTextBox1.Select(this.richTextBox1.TextLength, 0);
    this.richTextBox1.SelectionColor = Color.Red;
    thir.richTextBox1.SelectionFont = new Font(this.richTextBox1.Font, FontStyle.Bold);
    this.richTextBox1.AppendText(this.textBox1.Text);
}

如果您將更頻繁地以多種字體、顏色等附加文本,請考慮創建 RichTextBox 的擴展方法以附加特定格式的文本。 請參閱揭秘擴展方法

public static class RichTextBoxExtensions
{
    public static void AppendText(this.RichTextBox richTextBox,
        string text,
        Color color,
        Font font)
   {
        // don't update the RichTextBox while text is added
        richTextBox.SuspendLayout();

        // select the end of the richTextBox and append the text
        richTextBox.Select(richTextBox.TextLength, 0);
        richTextBox.SelectionColor = color
        ichTextBox.SelectionFont = font;
        richTextBox.AppendText(text);

        richTextBox.ResumeLayout();
    }

為了讓生活更輕松:添加幾個重載:

    public static void AppendText(this.RichTextBox richTextBox, string text)
    {
        AppendText(richTextbox, text, richTextBox.Color, richTextBox.Font);
    }

    public static void AppendText(this.RichTextBox richTextBox, string text,
        Color color)
    {
        AppendText(richTextbox, text, color, richTextBox.Font);
    }

    public static void AppendText(this.RichTextBox richTextBox, string text,
        Font font)
    {
        AppendText(richTextbox, text, richTextBox.Color, font);
    }

    public static void AppendText(this.RichTextBox richTextBox, string text,
        FontStyle fontStyle)
    {
        AppendText(richTextbox, text, richTextBox.Color, 
           new Font(richTextBox.Font, fontStyle));
    }
}

用法:

RichTextBox rtb = ...
rtb.AppendText("Hello", FontStyle.Italic);
rtb.AppendText("World", Color.Red);
rtb.AppendText("!", FontStyle.Bold);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM