private void ViewItem(string fileName, Func<Image> getImage, Func<string> getFileText)
{
if (IsImage(fileName))
{
_async.Load(getImage,
image =>
{
ResetForImage();
if (image != null)
{
if (image.Size.Height > PictureBox.Size.Height ||
image.Size.Width > PictureBox.Size.Width)
{
PictureBox.SizeMode = PictureBoxSizeMode.Zoom;
}
else
{
PictureBox.SizeMode = PictureBoxSizeMode.CenterImage;
}
}
PictureBox.Image = image;
});
}
else if (IsBinaryFile(fileName))
{
ViewText(null, "Binary file: " + fileName);
}
else
{
_async.Load(getFileText, text => ViewText(fileName, text));
}
}