自定义TextBox控件的问题,请帮忙看看
我自定义了一个TextBox控件,在TextBox的最右边加一个按钮,这个按钮的左右就是把文本框中的文字全都复制到剪贴板中。代码如下
class MyTextBox:TextBox
{
private Button button1;
public MyTextBox()
: base()
{
button1 = new Button();
button1.Text = "复制";
button1.Size = new Size(30, this.ClientSize.Height);
button1.UseVisualStyleBackColor = true;
button1.Font = new Font("宋体", 6f);
button1.Cursor = Cursors.Default;
button1.Dock = DockStyle.Right;
button1.Click += new EventHandler(button1_click);
this.Controls.Add(button1);
}
private void button1_click(object o, EventArgs e)
{
this.SelectAll();
this.Copy();
}
}
但是现在有一个问题就是,当我在文本框中输入的时候,如果输入的文本比较长,超过了文本框的长度,那么最右边的文本会被这个按钮遮住。我如何去实现,当输入的文本超过按钮的位置时,可以像输入文字达到文本框的最右边时那样,把整个文本都向左移动,使这些文字不会被按钮遮住。就好像文本框最右面的边界是在按钮之前一样。(不知道我又没有描述清楚,希望大家能够看明白我说的意思)