【发布时间】:2012-05-05 17:56:02
【问题描述】:
好的,这就是问题所在:在 C# 表单中,我创建了一个新的私有 void:
private void NewBtn(string Name, int x, int y)
它的目的是创建一个模仿按钮行为的图片框(不要问为什么,我只是喜欢把事情复杂化)并且可以根据需要多次调用。
Font btnFont = new Font("Tahoma", 16);
PictureBox S = new PictureBox();
S.Location = new System.Drawing.Point(x, y);
S.Paint += new PaintEventHandler((sender, e) =>
{
e.Graphics.TextRenderingHint =
System.Drawing.Text.TextRenderingHint.AntiAlias;
e.Graphics.DrawString(Name, btnFont, Brushes.Black, 0, 0);
});
Controls.Add(S);
现在,我担心 Paint/Graphics 的一部分(忽略其余代码,我只给出了其中的一部分)。当我称它为“NewBtn(Name,x,y)”时,我想将我写为“Name”的文本居中。那么,我应该把什么写成
e.Graphics.DrawString(Name, btnFont, Brushes.Black, ThisX???, 0);
建议?
【问题讨论】:
-
顺便说一句,你真的应该更好地命名你的方法。该方法名称表示可以创建一个新按钮。方法名称应该是描述性的。在这种情况下,类似于 AddNewPictureBox
-
我仍在努力,感谢您的建议;)
标签: c# forms graphics paint picturebox