Странное поведение .NET ListView - PullRequest
1 голос
/ 13 октября 2009

Я пытаюсь разобраться в этом: у меня есть ListView на форме в представлении LargeIcon (System.Windows.Forms.View.LargeIcon)

Эта строка в конструкторе:

this.listView1.LargeImageList.ImageSize = new Size(32, 32);

И тогда эта функция вызывается при двойном щелчке:

private void listView1_DoubleClick(object sender, EventArgs e)
{
    this.listView1.LargeImageList.ImageSize = new Size(64, 64); 
}

Когда я дважды щелкаю по списку, размер изменяется, как и ожидалось, но значок, который у меня есть, убирается, и я просто получаю большое пустое пространство. Даже если я настрою ImageIndex для последующего использования, он останется пустым, и я не смогу его снова отобразить.

Я предполагаю, что я делаю что-то не так (хотя я думаю, что .NET может быть сломан). Что мне поменять таким образом, чтобы значок не исчезал?

(я нахожусь в .NET 2.0)

1 Ответ

2 голосов
/ 13 октября 2009

Я думаю, что вы столкнулись с этой оговоркой, описанной в MSDN (http://msdn.microsoft.com/en-us/library/system.windows.forms.imagelist.imagesize.aspx):

Потому что установка свойства ImageSize вызывает ручку воссоздать, вы следует установить ImageSize до установки свойство Images.

Кроме того, использование системы для изменения размера изображений с 32x32 до 64x64, естественно, приведет к низкому качеству изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...