Проблема с размером формы и разрешением экрана VS2010

я использую Visual Studio 2010, и я хочу иметь размер формы 1280 * 1024, но у меня может быть только 1280 * 768. похоже, что VS2010 не позволяет мне иметь форму больше, чем мое поддерживаемое разрешение экрана, которое составляет 1366 * 768, поэтому я не могу сделать форму больше, чем 1366 * 768.

Вопрос: есть ли способ с VS2010, чтобы размер формы был больше моего разрешения экрана? (я знаю, что мы можем сделать это на VS2008, но есть ли способ с VS2010?)

  • пожалуйста, не просите меня сменить графическую карту на борту
  • пожалуйста, не просите меня удалить VS2010 и установить VS2008

любые другие решения, кроме этих, приветствуются.

РЕДАКТИРОВАТЬ:

Проблема в том, что я не могу заменить и поместить компоненты в нужное место, так как я не вижу все пространство в Form1.cs [Дизайн].


person modest and cute girl    schedule 27.07.2012    source источник
comment
Что, если вы установите свойства ширины/высоты в методе загрузки формы? Принимает ли он большую рамку таким образом?   -  person WhoaItsAFactorial    schedule 27.07.2012
comment
НЕТ Джереми: / также установка максимального размера ширины и высоты не работает на панели свойств. он автоматически уменьшается.   -  person modest and cute girl    schedule 27.07.2012
comment
Dup -stackoverflow.com/questions/6651115/   -  person Micah Armantrout    schedule 27.07.2012
comment
кажется, нет прямого, чистого и ясного пути :/   -  person modest and cute girl    schedule 27.07.2012
comment
Решение Джереми отлично работает, пока вы не используете конструктор. Это ограничение конструктора Windows Forms, а не самой платформы.   -  person Cody Gray    schedule 09.08.2012
comment
@CodyGray разве он не говорит мне поиграть со свойствами формы и установить свойства with и height на панели свойств в Visual Studio? если вы имеете в виду, что я пытался, но не работал. ide меняет его и автоматически уменьшает до моего разрешения экрана. но если он и вы ссылаетесь на что-то еще, то я объяснил выше в этом ответе, тогда вы можете открыть и объяснить ответ подробнее. благодаря.   -  person modest and cute girl    schedule 09.08.2012
comment
Он говорит о том, чтобы установить это в коде, а не с помощью дизайнера.   -  person Cody Gray    schedule 09.08.2012


Ответы (2)


Вы можете использовать это, если вам нужно больше места. Это создаст большую панель с полосами прокрутки. Вы не можете установить размер окна больше размера экрана.

public Form1()
{
    InitializeComponent();
    this.AutoScroll = true;
    this.AutoSize = true;
    this.Controls.Add(new Panel() { Width = 2300, Height = 2000 });
    //this one will only set window size to size of screen
    this.ClientSize = new System.Drawing.Size(2300, 2000);
}

РЕДАКТИРОВАТЬ:

Вы можете сделать то же самое в дизайне. Просто установите для автопрокрутки формы значение true, снимите панель и установите для нее огромный размер. Это позволит Вам создать свою огромную панель с использованием полос прокрутки.

person rumburak    schedule 08.08.2012
comment
спасибо rumburak за ответ. и ваш ответ помог в некотором смысле, но не совсем. чтобы объяснить больше, это не увеличивает экран формы в Form1.cs [Design], но увеличивает экран с полосой прокрутки рядом, когда вы запускаете программу. но проблема в том, что я не могу заменить и поместить компоненты в нужное место, так как я не вижу все пространство на Form1.cs [Дизайн]. - person modest and cute girl; 09.08.2012
comment
но вы можете сделать то же самое в дизайне. Просто установите для автопрокрутки формы значение true, снимите панель и установите для нее огромный размер. Это позволит Вам создать свою огромную панель с использованием полос прокрутки. - person rumburak; 09.08.2012
comment
Хорошо, спасибо, теперь мне удалось это сделать. Я счастлив, что люди здесь делятся своими знаниями и просвещают друг друга. прежде чем я задам вопрос, я искал об этом, и у меня не было такого ответа, поэтому ваш ответ может помочь людям, которые также ищут об этом. поэтому я принимаю ваш ответ, и вы получаете 50 баллов, поскольку я предложил румбурак. благодаря. - person modest and cute girl; 09.08.2012
comment
Кстати, проблема с моей визуальной студией заключалась в том, что размер формы оставался постоянным и ограничивался моим разрешением экрана, даже если я пишу данный код. но вот ключевой момент -> после того, как я бросил компонент, я бросил панель в самую дальнюю точку, после чего ее размер начал увеличиваться. вот как мне удалось это сделать с ответом и объяснением румбурака. - person modest and cute girl; 09.08.2012
comment
проверьте правую часть страницы вашего профиля, где отображается репутация. ваш ответ должен быть награжден, и вы должны увидеть его там. Спасибо еще раз за помощь. - person modest and cute girl; 10.08.2012

Winforms не позволит вам создать окно больше монитора. Нет способа переопределить это либо. Это вполне разумно, такое окно нельзя использовать, поскольку у пользователя нет приличного способа добраться до частей окна, которые находятся за пределами области отображения монитора. В частности, вертикальное перемещение окна путем перетаскивания строки заголовка не работает.

Единственный путь вперед, когда вам нужно 1280 * 1024, — установить для свойства AutoSize формы значение True. Установите для свойства AutoScrollMinSize нужный размер, Winforms автоматически отобразит вертикальную полосу прокрутки в форме, чтобы пользователь мог легко прокручивать части окна, которые находятся вне поля зрения.

Если это конкретная проблема времени разработки, другими словами, когда вы вынуждены создавать форму на ноутбуке, но знаете, что у пользователя монитор большего размера, вы можете исправить это, задав размер в коде. Сделайте это в конструкторе (не в событии Load), например:

    public Form1() {
        InitializeComponent();
        this.Size = new Size(1280, 1024);
    }

Но вы никогда не узнаете, поэтому не скупитесь на использование AutoScroll + AutoScrollMinSize.

person Hans Passant    schedule 08.08.2012
comment
даже я устанавливаю для свойства AutoSize значение True на панели свойств формы визуальной студии, когда я устанавливаю для свойства размера значение 1280 * 1024 и нажимаю клавишу ввода на клавиатуре, оно автоматически уменьшается до 1280 * 788 :( это не работает, как вы говорите. или я вас неправильно понял? - person modest and cute girl; 09.08.2012
comment
Я должен был упомянуть AutoScrollMinSize. Пост обновлен. - person Hans Passant; 09.08.2012
comment
извините, но это мало помогает. посмотрите на ответ румбурака, он в некотором роде помогает, но не совсем. чтобы объяснить, что это не увеличивает экран формы на Form1.cs [Design], но увеличивает экран с полосой прокрутки рядом, когда я запускаю его. но проблема в том, что я не могу заменить и поместить свои компоненты в нужное место, так как я не вижу все пространство на Form1.cs [Дизайн]. - person modest and cute girl; 09.08.2012
comment
Становится очень неясно, в чем может заключаться ваша настоящая проблема. Использование AutoScroll отлично работает во время разработки, вы также можете прокручивать форму в дизайнере. Если это имело в виду хорошо, да, но ваш ответ на самом деле мне не помогает, все равно отстойно делать это, тогда я не могу вам помочь, я не куплю для вас лучший монитор. Спросите этого парня, можете ли вы получить его старые: codinghorror .com/blog/2012/07/the-ips-lcd-revolution.html - person Hans Passant; 09.08.2012
comment
большое спасибо за ответ и попытку помочь. теперь мне это удалось. ответ румбурака сработал. уважаю вас и ваши знания, так как вы на 275к :) - person modest and cute girl; 09.08.2012