Уменьшить заполнение Вокруг текста в кнопке WinForms

У меня есть приложение, которое будет использоваться в системе с сенсорным экраном, и он содержит несколько кнопок, которые довольно большие (квадрат ~ 100 пикселей).

Каждая кнопка будет иметь от 1 до 4 строк текста (обычно по одному слову в строке).

Из-за большого количества отступов в кнопку, мне нужно уменьшить размер текста, чтобы он стал почти нечитаемым, однако, если бы я смог уменьшить внутреннее заполнение так, чтобы текст рисовал прямо до границы, у меня не было бы проблема.

Я попытался уменьшить заполнение элемента управления до нуля следующим образом, но это не помогло.

this.Text = _label;
this.Font = new Font(this.Font.FontFamily, (float) _size);
this.Padding = new Padding(0);

Пример проблемы показан ниже:

Button with broken text

Как вы можете видеть, это достаточно места для слова «ОБЗОР», чтобы поместиться в одну строку, но как я могу добиться этого, не уменьшая размер шрифта? Мне не нравится мысль о необходимости переписывать код рисования текста элемента управления.

Редактировать: Я заметил, что увеличение заполнения до различных значений, вплоть до 300, не влияет на внутреннее заполнение элемента управления. Также для информации, кнопка, которую я использую, является элементом управления, унаследованным от класса Windows.Forms.Button, так как мне нужно добавить несколько свойств, однако я не вмешивался ни в один из собственных методов Button.

12
задан Bryan 24 May 2011 в 07:57
поделиться