2017-06-14 4 views
0

私は、TableLayoutPanelsを持つTableLayoutPanelを行として持っています。内側のtableLayoutPanelsにはそれぞれ2つの行があります。 2番目の行にはtextBoxのURLがイタリックのスタイルで表示されています。しかし、URLはその高さでカットオフされていますが、 'g'のような文字はピクセルがありません。 '_'は全く表示されません。皮肉なことに...変更なし イタリック文字の下端がテキストボックス内で切り取られます

を - 内部tableLayoutPanelのサイズ自体を変更しようとしました - 変更なし - -

は、だから私は、テキストボックス(TextBox)コントロール「高さを変更しようとした変更なし - 内部tableLayoutPanelの行サイズを変更しようとしました同じ行にイタリック体のテキストが付いた別のラベルがありますが、それはアンカーごとに行の下端にバインドされていますが、textBoxにアンカーを使用しても、それはまだ途切れています。

関連てtextBoxコード:

textBox2.Font = new System.Drawing.Font("Arial", 9.75F, 
    System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, 
    ((byte)(0))); 
textBox2.Location = new System.Drawing.Point(3, 21); 
textBox2.Size = new System.Drawing.Size(454, 23); 

インナーTLPコード:(元々8OG8vit_-WG)

"8OG8vit_-Wg" cutoff

tableLayoutPanel2.RowStyles.Add(new 
    System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 
    80F)); 
tableLayoutPanel2.RowStyles.Add(new 
    System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 
    27F)); 
tableLayoutPanel2.Size = new System.Drawing.Size(607, 44); 

はイタリック、アンダースコアを表示することが何とか可能です

EDIT:テキストボックスを外側のグループボックスとメインフォームに配置しました。ここで

System.Windows.Forms.TextBox textBox2 = new System.Windows.Forms.TextBox(); 
textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None; 
textBox2.Cursor = System.Windows.Forms.Cursors.IBeam; 
textBox2.Font = new System.Drawing.Font("Arial", 9.75F, 
    System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, 
    ((byte)(0))); 
textBox2.Location = new System.Drawing.Point(100, 290); 
textBox2.Name = "textBox2"; 
textBox2.ReadOnly = true; 
textBox2.Size = new System.Drawing.Size(454, 15); 
textBox2.Text = "8OG8vit_-Wg"; 
textBox2.BackColor = System.Drawing.Color.Coral; 
groupBox1.Controls.Add(textBox2); // this.Controls.Add(textBox2); 

結果は以下のとおりです。groupboxmainform

+1

テキストボックスの有効サイズが十分に実際に大規模であることを確認するためにBackColorプロパティを設定してください。 AlsO:パディングやマージンの値をすべてチェックしてください! – TaW

+0

ニースのヒント、BackColorはこれをより簡単にします。残念ながら、異なるtextBoxサイズを設定すると、絶対的に変更がないことがわかります。テキストボックスを動かすと、視覚的な違いはありません。要素を調べると、コードに余白または余白の値は設定されていません。私が気にする必要があるデフォルトのものはありますか? – Kartoffel

+0

_デフォルトのものがあります_はい、通常は3ピクセルです。フォーム上に直接置かれたときに同じテキストボックスが途切れることはありますか? – TaW

答えて

1

私はこのバグを助けることが呼び出すことはできません。

TextBox.Multiline = falseBorderStyle.Noneを組み合わせると、winformsがクライアントサイズの縮小を過度にしてしまい、下位互換文字や下線が切り捨てられます。

回避策は、それらの1つをあきらめることです。一見のために、あなたは単にTextBox.Multiline = trueを作り、それがあるべきように、すべてが..ですたい:

enter image description here

関連する問題