Я бы сделал программу, в которой вы можете выбрать свои фотографии с компьютера в imagelist и listview, а затем, если вы нажмете на любую фотографию, вы сможете просмотреть ее внутри изображения. Проблема запуск, когда я открыть несколько фотографий в ListView первой нажмите на первую картину нет никаких проблем, но если вы хотите, чтобы показать среднюю картину внутри, чтобы PictureBox тогда я получаю эту ошибку:ArgumentOutOfRangeException возникло
ArgumentOutOfRangeException произошедшего
Exception брошено: 'System.ArgumentOutOfRangeException' в System.Windows.Forms.dll
Дополнительная информация: InvalidArgument = значение '0' не является допустимым для 'индекса'.
Помогите мне, ребята?
public partial class TimeLapseForm : Form
{
public TimeLapseForm()
{
InitializeComponent();
}
int resimSayac = 0;
List<string> resimKonumu = new List<string>();
private void TimeLapseForm_Load(object sender, EventArgs e)
{
openFileDialog1.Multiselect = true;
openFileDialog1.Filter = "Jpeg Files|*.jpg;|Png Files|*.png;|Bitmap Files|*.bmp";
}
private void browseBttn_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
foreach (string DosyaYolu in openFileDialog1.FileNames)
{
imagelist1.Images.Add(DosyaYolu, Image.FromFile(DosyaYolu));
resimKonumu.Add(DosyaYolu);
ListViewItem kucukresim = new ListViewItem();
kucukresim.ImageIndex = resimSayac;
listView1.Items.Add(kucukresim);
resimSayac++;
}
}
}
private void fullScreenToolStripMenuItem_Click(object sender, EventArgs e)
{
FormBorderStyle = FormBorderStyle.None;
WindowState = FormWindowState.Maximized;
TopMost = true;
}
private void TimeLapseForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
FormBorderStyle = FormBorderStyle.Sizable;
WindowState = FormWindowState.Maximized;
TopMost = true;
}
else if (e.KeyCode == Keys.F11)
{
FormBorderStyle = FormBorderStyle.None;
WindowState = FormWindowState.Maximized;
TopMost = true;
}
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult dialog = MessageBox.Show("Are you sure to exit program?", "Exit", MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
Application.ExitThread();
}
else if (dialog == DialogResult.No)
{
return;
}
}
private void listView1_SelectedIndexChanged_1(object sender, EventArgs e)
{
pictureBox1.Image = Image.FromFile(resimKonumu[listView1.SelectedIndices[0]]);
}
}
}
Вопросы, требующие помощи по отладке («почему этот код не работает?») Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны другим читателям. См.: Как создать минимальный, полный и проверенный пример. – DIDoS