質問をSQL database
に保存し、質問をRich Text Box
に、回答をCheck Boxes
に表示するクイズを作成しました。チェックボックスのテキストを複数の行に自動的に表示する方法は?
しかし、時には答えが長すぎます。私はそれを表示するにはさらに多くのスペースが必要です私はmultiline
が私を助けると思ったが、私はそれをやる方法を見つけることができない。
ありがとうございます!
質問をSQL database
に保存し、質問をRich Text Box
に、回答をCheck Boxes
に表示するクイズを作成しました。チェックボックスのテキストを複数の行に自動的に表示する方法は?
しかし、時には答えが長すぎます。私はそれを表示するにはさらに多くのスペースが必要です私はmultiline
が私を助けると思ったが、私はそれをやる方法を見つけることができない。
ありがとうございます!
Winformsのチェックボックスは、あなたがfalse
に設定すると、チェックボックスの高さを変更することができます*
。デフォルトでtrue
に設定されているAutoSize
性質を持っており、それは、テキストが自動的に折り返されますです。
ただし、AutoSize
プロパティがfalse
に設定されている場合は、チェックボックスの幅と高さを自分で設定する必要があります。
* TaWが彼のコメントで述べたように、AutoSize
プロパティのデフォルトはtrue
で、デザイナにチェックボックスを追加した場合にのみ有効です。動的に作成されるチェックボックスのデフォルト値はfalse
です。
デフォルトの下に2つの答えを組み合わせる必要があるチェックボックスをデザイナーに追加のための唯一の真実です。動的に生成されるチェックボックスのデフォルトはfalseです。 go figure ... – TaW
@Tawありがとう、私はそれを知らなかった。私の答えにそれを含めるでしょう。 –
チェックボックスの幅を設定すると、自動的に複数行が取得されます。 コントロールの幅を設定する方法(幅を設定したい場合)と、高さを調整する方法の簡単な例を作成しました。 高さを正しく設定するか、テキストがクリップされる可能性があります。
はこれを試してみてください:
private void CreateCheckBox(){
CheckBox cb = new CheckBox();
cb.Location = new Point(10, 10);
cb.Width = 150;
Controls.Add(cb);
cb.Text = "This is a long text that needs to be broken down into multiple lines.";
cb.Height = GetHeight(cb);
}
private static int GetHeight(CheckBox cb) {
using (Graphics g = cb.CreateGraphics()) {
var size = g.MeasureString(cb.Text, cb.Font);
int rows = (int)Math.Ceiling(((double) size.Width/cb.Width));
return (int)(rows*size.Height);
}
}
あなたが;-) – TaW