Я занимаюсь разработкой мобильного приложения на C #.Я использую функцию запуска клавиатуры для запуска клавиатуры на мобильном устройстве, когда одно из текстовых полей становится сфокусированным.Я использую следующий код.
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);
}
В приведенном выше коде я пытаюсь динамически изменять высоту формы окна.Я добавил точку останова в своем приложении.В следующем утверждении
this.Size = new Size(this.Size.Width, y);
я вижу, что значение y изменяется на 180 в правой части.Но в левой части значение этого this.Size остается неизменным.Я совершенно не понимаю, почему это происходит.Можете ли вы сказать мне, что в моем коде что-то не так, или вы можете предоставить мне решение для изменения значения height в операторе this.size слева?