У меня есть унаследованная форма, и я использую ее в качестве формы настройки. Я прошу пользователя ввести имя для сохранения, я хочу динамически изменять заголовок формы (текстовое свойство форм) в соответствии с входными данными. но если я изменю заголовок базовой формы, произойдет переполнение. также я создаю свойство FormTitle в базовой форме, чтобы сохранить текущее имя формы.
например, имя моего приложения — SerenaIR, и я хочу показать ниже стиль для всех своих форм.
СеренаИР | имя магазина | formname
ex: SerenaIR | Супермаркет | распродажа
Свойство FormTitle
private string _frmTitle;
/// <summary>
/// current form title for showing on title bar.
/// </summary>
[Category("JSCustomizer"),
Description("The text that is displayed on form title bar.")]
public string FormTitle
{
get { return _frmTitle; }
set
{
try
{
_frmTitle = value;
Invalidate();
var appPreName = Properties.Settings.Default.AppNamePre + @" " + Properties.Settings.Default.AppName;
if(_frmTitle.Length < 3)
{
base.Text = appPreName;
}
else
{
base.Text = appPreName + @" | " + _frmTitle;
}
}
catch
{
return;
}
}
}
в форме настройки я сохраняю настройку имени магазина и в базовой форме, когда я хочу изменить заголовок с помощью приведенного ниже кода, все унаследованные формы вызывают ошибку!
private void JSfrmBaseLoad(object sender, EventArgs e)
{
Text = Properties.Settings.Default.AppNamePre + @" " + Properties.Settings.Default.AppName;
}