Сохраните и восстановите положение формы и размер

Этот код работает для меня

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
10
задан 18 September 2008 в 13:31
поделиться

4 ответа

private void Form1_Load( object sender, EventArgs e )
{
    // restore location and size of the form on the desktop
    this.DesktopBounds =
        new Rectangle(Properties.Settings.Default.Location,
    Properties.Settings.Default.Size);
    // restore form's window state
    this.WindowState = ( FormWindowState )Enum.Parse(
        typeof(FormWindowState),
        Properties.Settings.Default.WindowState);
}

private void Form1_FormClosing( object sender, FormClosingEventArgs e )
{
    System.Drawing.Rectangle bounds = this.WindowState != FormWindowState.Normal ? this.RestoreBounds : this.DesktopBounds;
    Properties.Settings.Default.Location = bounds.Location;
    Properties.Settings.Default.Size = bounds.Size;
    Properties.Settings.Default.WindowState =
        Enum.GetName(typeof(FormWindowState), this.WindowState);
    // persist location ,size and window state of the form on the desktop
    Properties.Settings.Default.Save();
}
8
ответ дан 4 December 2019 в 00:27
поделиться

Я нахожусь в одной лодке как Вы, в этом у меня есть много форм (дети MDI, в моем случае), что я хочу сохранить положение и размер для каждого пользователя. От моего исследования не поддерживается создание параметров настройки приложения во времени выполнения. (см. эту запись в блоге), Однако Вы не должны засовывать все в основной файл настроек. Можно добавить файл Настроек к проекту (объясненный здесь в MSDN) и использовать его через Свойства. Объект настроек. Это не упростит боль необходимости не забыть создавать новые настройки для каждой формы, но по крайней мере она будет держать их вместе и не загромождать Ваши настройки главного приложения.

До использования базового класса для получения настроек... Я не знаю, можно ли сделать это там. Что я был бы (и вероятно будет) делать быть назвать каждый атрибут, затем использовать Меня. GetType ().ToString () (я работаю в VB) для составления композита названий атрибутов я хочу получить в событии Load () каждой формы.

0
ответ дан 4 December 2019 в 00:27
поделиться

Вы могли создать основной класс формы с общей функциональностью, такой как запоминание положения и размера и наследоваться тому базовому классу.

public class myForm : Form {
protected override void OnLoad(){
    //load the settings and apply them
    base.OnLoad();
}

protected override void OnClose(){
    //save the settings
    base.OnClose();
}
}
then for the other forms:

public class frmMainScreen : myForm {
// you get the settings for free ;)
}

Ну, что-то как этот ;)

0
ответ дан 4 December 2019 в 00:27
поделиться

Я просто транслирую его в отдельный файл XML - быстро и грязно и, вероятно, не то, что вам нужно:

Dim winRect As String() = util.ConfigFile.GetUserConfigInstance().GetValue("appWindow.rect").Split(",")
Dim winState As String = util.ConfigFile.GetUserConfigInstance().GetValue("appWindow.state")

Me.WindowState = FormWindowState.Normal

Me.Left = CType(winRect(0), Integer)
Me.Top = CType(winRect(1), Integer)
Me.Width = CType(winRect(2), Integer)
Me.Height = CType(winRect(3), Integer)

If winState = "maximised" Then
    Me.WindowState = FormWindowState.Maximized
End If

и

Dim winState As String = "normal"
If Me.WindowState = FormWindowState.Maximized Then
    winState = "maximised"
ElseIf Me.WindowState = FormWindowState.Minimized Then
    winState = "minimised"
End If

If Me.WindowState = FormWindowState.Normal Then

    Dim winRect As String = CType(Me.Left, String) & "," & CType(Me.Top, String) & "," & CType(Me.Width, String) & "," & CType(Me.Height, String)
    ' only save window rectangle if its not maximised/minimised
    util.ConfigFile.GetUserConfigInstance().SetValue("appWindow.rect", winRect)
End If

util.ConfigFile.GetUserConfigInstance().SetValue("appWindow.state", winState)
0
ответ дан 4 December 2019 в 00:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: