Мне удалось его удалить, но новое изображение не создается, поэтому доступ к персоналу невозможен. Что я делаю не так?
Это проект WFA, использующий C#.
Код: Выделить всё
private void btnUpdate_Click(object sender, EventArgs e)
{
if (lstEmployeeList.SelectedItems.Count>0)
{
if (pbEmployeeImage.Tag != null && !string.IsNullOrEmpty(selectedEmployee.EmployeePicture))
{
string oldImagePath = Path.Combine(Application.StartupPath, "Images", selectedEmployee.EmployeePicture);
if (File.Exists(oldImagePath))
{
pbEmployeeImage.Image?.Dispose();
pbEmployeeImage.Image = null;
GC.Collect();
GC.WaitForPendingFinalizers();
File.Delete(oldImagePath);
}
}
selectedEmployee = FillEmployee(selectedEmployee);
db.SaveChanges();
ListViewFill();
Methods.Clear(this.Controls);
}
else
{
MessageBox.Show("Please select an employee to update");
}
}
Код: Выделить всё
private Personel FillEmployee (Personel p)
{
p.Ad = txtAd.Text;
p.Soyad = txtSoyad.Text;
p.TCKN = txtTC.Text;
p.DogumTarihi = dtDogumTarihi.Value;
p.Unvan = cmbUnvan.Text == "" ? Unvan.Belirtilmedi : (Unvan)cmbUnvan.SelectedValue;
p.IseGirisTarihi = dtiseGiris.Value;
p.Email = txtEmail.Text;
p.Adres =txtAdres.Text;
p.TelefonNo = txtTel.Text;
if (pbPersonelResmi.Tag != null)
{
p.EmployeeImage = Guid.NewGuid() + pbEmployeeImage.Tag.ToString();
pbEmployeeImage.Image.Save(Application.StartupPath + "Images/" + p.EmployeeImage);
}
return p;
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... icture-box
Мобильная версия