У меня есть форма, в которой пользователи регистрируют обязательные поля, и у них есть возможность просматривать изображение на своем рабочем столе.Я не сохраняю фактическое изображение в моей базе данных.Я использовал Openfiledialog, и когда пользователь выбирает изображение, он копирует путь к метке, выбранное изображение будет сохранено в папке моего проекта, а путь будет сохранен в моей базе данных.Теперь проблема в том, что, если пользователь не хочет иметь изображение ?, чтобы решить эту проблему, я программно установил изображение для моей картинки, используя ресурсы.Теперь проблема в том, как я могу получить путь к изображению в моей картинке (изображение в ресурсах) и скопировать его на мою метку, а также вы можете видеть, что у меня есть функция File.Copy. Я не хочу, чтобы этот код был включен, когдапользователь не выбирает ни одного изображения.
PS: изображение по умолчанию, например, Facebook, если нет загруженного изображения
public partial class RegisterCustomer : UserControl
{
public RegisterCustomer()
{
InitializeComponent();
UserImage.Image = Properties.Resources.User;
//var img = Image.FromFile(@"C:\Users\dieth\source\repos\SalesInventoryManagement\SalesInventoryManagement\bin\Debug\Icons\User.png");
//UserImage.Image = img;
}
Register rc = new Register();
private void Btn_Register_Click(object sender, EventArgs e)
{
File.Copy(lbl_location.Text, Path.Combine(@"C:\Users\dieth\source\repos\SalesInventoryManagement\SalesInventoryManagement\bin\Picture", Path.GetFileName(lbl_location.Text)), true);
rc.Insert(lbl_location.Text, string.Format(txt_firstname.Text + " " + txt_middlename.Text + " " + txt_lastname.Text), cbox_gender.Text, txt_contact.Text, txt_email.Text, txt_address.Text, Variables.Current_Date);
MessageBox.Show("Successfully Added", "System Message:", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
}
private void Btn_Browse_Click(object sender, EventArgs e)
{
rc.BrowseImage(UserImage, Variables.location , lbl_location);
}
}
public class Register
{
public void Insert(string path, string Fullname, string Gender, string Contact_Number, string Email, string Home_Address, string Dates)
{
using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["SalesInventoryManagement.Properties.Settings.Setting"].ConnectionString))
{
using (var cmd = new SqlCommand("usp_InsertCustomer", con))
{
con.Open();
byte[] b = File.ReadAllBytes(path);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Images", SqlDbType.VarChar).Value = path;
cmd.Parameters.Add("@Full_Name", SqlDbType.VarChar, 50).Value = Fullname;
cmd.Parameters.Add("@Gender", SqlDbType.VarChar, 50).Value = Gender;
cmd.Parameters.Add("@Contact_Number", SqlDbType.VarChar, 11).Value = Contact_Number;
cmd.Parameters.Add("@Email", SqlDbType.VarChar, 50).Value = Email;
cmd.Parameters.Add("@Home_Address", SqlDbType.VarChar, 50).Value = Home_Address;
cmd.Parameters.Add("@Dates", SqlDbType.Date).Value = Dates;
cmd.ExecuteNonQuery();
con.Close();
}
}
}
public void BrowseImage(PictureBox UserImage, string location, Label path)
{
using (OpenFileDialog ofd = new OpenFileDialog())
{
ofd.Filter = "Image Files (*.jpg;*.jpeg;.*.png; | *.jpg;*.jpeg;.*.png;)";
ofd.FilterIndex = 1;
ofd.Multiselect = false;
ofd.Title = "Select Image File";
if (ofd.ShowDialog() == DialogResult.OK)
{
location = ofd.FileName;
path.Text = location;
UserImage.Image = Image.FromFile(location);
UserImage.SizeMode = PictureBoxSizeMode.StretchImage;
}
}
}