Как изменить размер формы Windows динамически в мобильном приложении?

StackOverflow https://stackoverflow.com/questions/3882340

Вопрос

Я разрабатываю мобильное приложение в C #. Я использую функциональность запуска клавиатуры, чтобы запустить клавиатуру на мобильном устройстве, когда один из текстовыхbox сосредоточен. Я использую следующий код.

private void inputPanel1_EnabledChanged(object sender, EventArgs e)
        {
            InputEnabled();
        }

        private void InputEnabled()
        {
            int y;

            if (inputPanel1.Enabled)
                // SIP visible - position label just above the area covered by the input panel  
                y = Height - inputPanel1.Bounds.Height;
            else
                // SIP not visible - position label just above bottom of form
                y = Height;

            // Calculate the position of the top of the label
            //y = y - mainPanel.Height;
            //this.Dock = DockStyle.Top;
            //mainPanel.Location = new Point(0, y);
            this.Size = new Size(this.Size.Width, y);
            this.AutoScroll = true;

            //this.AutoScrollPosition = new Point(this.AutoScrollPosition.X, descriptionTextBox.Location.Y);
        }

В приведенном выше коде я пытаюсь изменить высоту формы Windows динамически. Я добавил точку останова в моем приложении. В следующем утверждении

this.Size = new Size(this.Size.Width, y);

Я вижу, что значение Y изменяется на 180 в правой стороне. Но в левой стороне ценность этого это. Это остается неизменным. Я полностью не знаю, почему это происходит. Можете ли вы сказать мне, что что-то не так в моем коде или вы можете предоставить мне решение, чтобы значение высоты в этом операторе этого.

Это было полезно?

Решение

Изменение размера формы в приложении WinMobile может быть сложно, и я предпочел бы избежать его, если не обязательно необходимо.

В этом случае вместо измерения измерения формы вы можете разместить элементы управления на панель и изменить размер панели. Вы также можете использовать подход к использованию мягкой панели ввода здесь: http://www.christec.co.nz/blog/Чахивы/42.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top