【发布时间】:2017-11-23 17:56:50
【问题描述】:
我正在尝试创建一个“危险”类型的游戏,我已经到了您只需单击一个框就会出现一个问题框的地步。
我正在使用 customPictureBox,基本上覆盖了文本等:
protected override void OnPaint(PaintEventArgs pe)
{
base.OnPaint(pe);
Size size = TextRenderer.MeasureText(text, font);
int x = Width / 2 - size.Width / 2;
int y = Height / 2 - size.Height / 2;
pe.Graphics.DrawString(text, font, new SolidBrush(color), x, y);
}
在游戏中我添加如下属性:
CustomPictureBox box = new CustomPictureBox()
{
Text = ((QuestionBox)sender).Question.Text.ToUpper(),
SizeMode = PictureBoxSizeMode.StretchImage,
Font = new Font("Comic Sans MS", 40),
Image = Properties.Resources.MainTile,
ForeColor = Color.White,
BorderStyle = BorderStyle.FixedSingle,
Dock = DockStyle.Fill
};
当文本长度超过一定数量(取决于监视器)单词时,问题就出现了,基本上会发生文本被绘制但大部分超出表单,添加 Autosize 和 Maximum size Reference,这会将 MaxSize 添加到整个 CustomPictureBox。
This solution 似乎为单词设置了偏移量,使较长的句子完全飞出屏幕。
理想情况下,我需要添加一个换行符,直到单词到达预设边界,这样它们就不会脱离表格。
【问题讨论】: