Загрузите изображение в PictureBox, прежде чем сделать элемент управления видимым - PullRequest
0 голосов
/ 29 апреля 2010

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

Тем не менее, для загрузки графических блоков требуется время. Весьма уродливо, что во время ожидания сначала появляются графические окна.

Есть ли способ, с помощью которого я могу перейти с чистого черного экрана на 9 изображений сразу без видимой загрузки между ними?

Спасибо.

Ответы [ 2 ]

1 голос
/ 29 апреля 2010

Как вы загружаете свою форму (я думаю, вы говорите о Windows.Forms здесь)?

Вы можете просто создать новый класс Window и загрузить свои изображения, а затем, после того, как все будет сделано, вызвать метод Show.

MyForm form = new MyForm ();
form.DoLoadImages ();
form.Show ();

Или вы можете просто установить свойство WaitOnLoad PictureBox на true.

0 голосов
/ 29 апреля 2010
private void startButton_Click(object sender, EventArgs e)
{
    // Ensure WaitOnLoad is false.
    pictureBox1.WaitOnLoad = false;

    // Load the image asynchronously.
    pictureBox1.LoadAsync(@"http://localhost/print.gif");
}

Предоставлено MSDN: http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.waitonload(v=VS.100).aspx 1

...