在Panel上绘制文本

时间:2012-11-04 08:22:44

标签: c# winforms text panel onpaint

好的,我解决了一切,现在正是我想要的。 我有textBox1panel1drawTexta(按钮)。

当我单击按钮并在面板中选择一个点时,我想从textBox1中绘制字符串。

private void panel1_Paint(object sender, PaintEventArgs e)
{
    using (SolidBrush br = new SolidBrush(Color.Red))
    {
        StringFormat sf = new StringFormat();
        sf.FormatFlags = StringFormatFlags.DirectionRightToLeft;
        e.Graphics.DrawString(textBox1.Text, this.Font, br, point1, sf);
    }
}

private void panel1_MouseDown(object sender, MouseEventArgs e)
{
    point1 = new Point(e.X, e.Y);
} 

bool flag = false;
Point point1 = new Point();

private void drawTexta_Click(object sender, EventArgs e)
{ 
    flag = true;
    panel1.Refresh();
}

1 个答案:

答案 0 :(得分:3)

文本未被panel1绘制,因为您需要刷新它。

button1_Click设置为drawText后,将此代码添加到true

panel1.Refresh();

这将使静态文本显示出来。