Фокус на элементе списка потерян - PullRequest
0 голосов
/ 08 июня 2019

Я просмотрел сайт в поисках решения своей проблемы, но, похоже, ни один из них не помог мне решить мою проблему.

Проблема, с которой я столкнулся: Когда я выбираю элемент в списке, он будет выделен. Если я нажимаю в любом месте формы, она будет продолжать выделяться, но когда я нажимаю кнопку в той же форме и пробегает свой код, в конце _Click элемент ListView теряет фокус. У меня для списка просмотра HideSelection установлено значение false также в конце события button_Click У меня также есть listview.focus(). Но ничего из этого не помогает сосредоточиться на элементе в списке. У меня также это есть в конце button_Click listview.SelectedItems[0].Focused = true; Следует отметить, что у списка есть группы. Это будет моей проблемой? Если так, как я могу решить это? Есть ли место, где я могу установить фокус на форме, когда она получает фокус после нажатия кнопки?

РЕДАКТИРОВАТЬ: Ниже приведено нажатие кнопки.

private void btPowerOn_Click(object sender, EventArgs e)
    {
        Color colour;
        ButtonPower buttonpower = new ButtonPower(this);
        var button = sender as Button;
        buttonpower.buttonOnOff(button.Name, Convert.ToByte(this.lvVMs_1.SelectedItems[0].Group.Header));
      } //<-- Following this the listview has no focus.

Также ListView, называемый LvVMs_1, инициализируется в Form1.Design.cs:

// lvVMs_1
        // 
        this.lvVMs_1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
        | System.Windows.Forms.AnchorStyles.Left)));
        this.lvVMs_1.AutoArrange = false;
        this.lvVMs_1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
        this.lvVMs_1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
        this.lvVMs_1.HideSelection = false;
        this.lvVMs_1.LabelWrap = false;
        this.lvVMs_1.Location = new System.Drawing.Point(8, 25);
        this.lvVMs_1.MultiSelect = false;
        this.lvVMs_1.Name = "lvVMs_1";
        this.lvVMs_1.Size = new System.Drawing.Size(280, 651);
        this.lvVMs_1.TabIndex = 52;
        this.lvVMs_1.UseCompatibleStateImageBehavior = false;
        this.lvVMs_1.View = System.Windows.Forms.View.Tile;
        this.lvVMs_1.SelectedIndexChanged += new System.EventHandler(this.lvVMs_1_SelectedIndexChanged);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...