gpt4 book ai didi

c# - 将用户控件添加到 winform 时出错

转载 作者:行者123 更新时间:2023-11-30 17:01:23 24 4
gpt4 key购买 nike

我正在尝试将用户控件添加到我的 winform。当我尝试这样做时,出现错误:

enter image description here

我试图重新创建表单和用户控件,但错误不断出现。真的很烦这个,因为我不能以这种方式继续我的项目..

我该如何解决这个问题?

编辑:我为用户控件和表单使用了各种不同的名称。重新启动 Visual Studio 也没有帮助。

编辑2:

UcLeed 包含以下代码:

public partial class ucLeed : UserControl
{
ErrorProvider error = new ErrorProvider();
DBLid DBlid = new DBLid();
public ucLeed()
{
InitializeComponent();
error.BlinkStyle = ErrorBlinkStyle.NeverBlink;
}

string lidID;

public string LidID
{
get { return lidID; }
set { lidID = value; }
}

public string Achternaam
{
get { return tbAchternaam.Text; }
set { tbAchternaam.Text = value; }
}

public string Adres
{
get { return tbStraat.Text; }
set { tbStraat.Text = value; }
}

public string Email
{
get { return tbEmail.Text; }
set { tbEmail.Text = value; }
}

public string Geboortedatum
{
get { return tbGeboortedatum.Text; }
set { tbGeboortedatum.Text = value; }
}

public string Gebruikersnaam
{
get { return tbGebruikersnaam.Text; }
set { tbGebruikersnaam.Text = value; }
}

public string Voornaam
{
get { return tbVoornaam.Text; }
set { tbVoornaam.Text = value; }
}

public string Wachtwoord
{
get { return tbPassword.Text; }
set { tbPassword.Text = value; }
}

public string BevWachtwoord
{
get { return tbPassBev.Text; }
set { tbPassBev.Text = value; }
}

public string Woonplaats
{
get { return tbWoonplaats.Text; }
set { tbWoonplaats.Text = value; }
}

public string Postcode
{
get { return tbPostcode.Text; }
set { tbPostcode.Text = value; }
}

private void CheckInput(CancelEventArgs e, TextBox tb)
{

if (string.IsNullOrEmpty(tb.Text))
{
error.SetError(tb, "*");
e.Cancel = true;
}

if (!string.IsNullOrEmpty(tb.Text))
{
error.SetError(tb, String.Empty);
error.Clear();
error.Dispose();
}
}

private void CheckIntInput(CancelEventArgs e, TextBox tb)
{
int integer;
if (int.TryParse(tb.Text, out integer))
{
error.SetError(tb, String.Empty);
error.Clear();
error.Dispose();
}
else
{
MessageBox.Show("Je moet een getal invullen!");
tb.Focus();
error.SetError(tb, "*");
}
}

private void CheckDateInput(CancelEventArgs e, TextBox tb)
{
string date = tb.Text;
DateTime fromDateValue;
var formats = new[] { "dd/MM/yyyy", "dd-MM-yyyy" };
if (DateTime.TryParseExact(date, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out fromDateValue))
{
error.SetError(tb, String.Empty);
error.Clear();
error.Dispose();
}
else
{
MessageBox.Show("Je moet wel een datum invullen!");
tb.Focus();
error.SetError(tb, "*");
}
}

private void ComparePasswords(CancelEventArgs e, MaskedTextBox tb, MaskedTextBox tb2)
{
if (tb.Text != tb2.Text)
{
MessageBox.Show("Je hebt niet het juiste wachtwoord bevestigd!");
error.SetError(tb2, "*");
}
else
{
error.SetError(tb2, String.Empty);
error.Clear();
error.Dispose();
}
}

private void tbVoornaam_Validating(object sender, CancelEventArgs e)
{
CheckInput(e, (TextBox)sender);
}

private void tbPassBev_Validating(object sender, CancelEventArgs e)
{
ComparePasswords(e, (MaskedTextBox)tbPassword, (MaskedTextBox)sender);
}

private void tbEmail_Validating(object sender, CancelEventArgs e)
{
try
{
var email = new MailAddress(tbEmail.Text);
error.SetError(tbEmail, String.Empty);
error.Clear();
error.Dispose();
}
catch
{
MessageBox.Show("Verkeerde formaat email adres!");
error.SetError(tbEmail, "*");
}
}

private void tbGeboortedatum_Validating(object sender, CancelEventArgs e)
{
CheckDateInput(e, (TextBox)sender);
}

private void tbGebruikersnaam_Validating(object sender, CancelEventArgs e)
{
if (DBlid.CheckLid(tbGebruikersnaam.Text))
{
MessageBox.Show("Gebruikersnaam al in gebruik!");
this.Focus();
error.SetError(tbGebruikersnaam, "*");
}
}
}

Edit3:类DBLid的代码。

class DBLid
{
DBChecks DBChecks = new DBChecks();

bool querystatus = false;

public bool Querystatus
{
get { return querystatus; }
set { querystatus = value; }
}
string connectionString = ConfigurationManager.ConnectionStrings["Insomnia.Properties.Settings.dbInsomniaConnectionString"].ConnectionString;

public DataTable GetLeden()
{
DataTable DT = new DataTable();
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
cmd.Connection = conn;
cmd.CommandText = "SELECT Lid.Id, Lid.Achternaam, Lid.Voornaam, Lid.Email, Lid.Adres, Lid.Woonplaats, Lid.Postcode, convert(varchar, Lid.Geboortedatum, 101) AS 'Geboorte Datum', Lid.GebruikersNaam AS Gebruikersnaam FROM Lid";
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(DT);
return DT;
}

public bool CheckLid(string gebruikersnaam)
{
bool inUse = false;
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
cmd.Connection = conn;
cmd.Parameters.AddWithValue("gebruikersnaam", gebruikersnaam);
cmd.CommandText = "SELECT COUNT(Lid.ID) FROM Lid WHERE GebruikersNaam = @gebruikersnaam";
try
{
conn.Open();
if ((int)cmd.ExecuteScalar() == 1)
{
inUse = true;
}
else
{
inUse = false;
}
}

catch
{

}
finally
{
conn.Close();
}

return inUse;
}

public void AddLid(string achternaam, string adres, string email, string geboortedatum, string gebruikersnaam, string voornaam, string wachtwoord, string woonplaats, string postcode)
{
// Encrypt password
string encryptedPassword = DBChecks.encryptPassword(wachtwoord);

SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
cmd.Connection = conn;

cmd.Parameters.AddWithValue("achternaam", achternaam);
cmd.Parameters.AddWithValue("adres", adres);
cmd.Parameters.AddWithValue("email", email);
cmd.Parameters.AddWithValue("geboortedatum", geboortedatum);
cmd.Parameters.AddWithValue("gebruikersnaam", gebruikersnaam);
cmd.Parameters.AddWithValue("voornaam", voornaam);
cmd.Parameters.AddWithValue("woonplaats", woonplaats);
cmd.Parameters.AddWithValue("postcode", postcode);
cmd.Parameters.AddWithValue("wachtwoord", encryptedPassword);

cmd.CommandText = "INSERT INTO Lid (Achternaam, Adres, Email, GeboorteDatum, GebruikersNaam, Voornaam, Wachtwoord, Woonplaats, Postcode) VALUES (@achternaam, @adres, @email, @geboortedatum, @gebruikersnaam, @voornaam, @wachtwoord, @woonplaats, @postcode); SELECT CONVERT(int, SCOPE_IDENTITY());";
try
{
conn.Open();
int lidID = (int)cmd.ExecuteScalar();
MessageBox.Show("Het lid is toegevoegd met LidID: " + lidID);
querystatus = true;
}

catch
{
MessageBox.Show("Oeps! Er ging iets mis!");
querystatus = false;
}
finally {
conn.Close();
}
}
}

Edit4:添加了 DBChecks 以供引用。

class DBChecks
{
bool reserveerStatus;

public bool ReserveerStatus
{
get { return reserveerStatus; }
set { reserveerStatus = value; }
}

bool querystatus = false;

public bool QueryStatus
{
get { return querystatus; }
set { querystatus = value; }
}
int gameID;

public int GameID
{
get { return gameID; }
set { gameID = value; }
}
int boekID;

public int BoekID
{
get { return boekID; }
set { boekID = value; }
}

private int itemsoort;

public int Itemsoort
{
get { return itemsoort; }
set { itemsoort = value; }
}

string connectionString = ConfigurationManager.ConnectionStrings["Insomnia.Properties.Settings.dbInsomniaConnectionString"].ConnectionString;

public string encryptPassword(string uncryptedPassword)
{

HashAlgorithm hash = new SHA256Managed();
string salt = "UserName";

// compute hash of the password prefixing password with the salt
byte[] plainTextBytes = Encoding.UTF8.GetBytes(salt + uncryptedPassword);
byte[] hashBytes = hash.ComputeHash(plainTextBytes);

string hashValue = Convert.ToBase64String(hashBytes);
return hashValue;

}

public bool ReserveringStatus(int itemID)
{

SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("itemID", itemID);
cmd.Connection = conn;
cmd.CommandText = "SELECT ReserveerStatus FROM Item WHERE Id = @itemID";

try
{
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();

while (sdr.Read())
{
reserveerStatus = (bool)sdr["ReserveerStatus"];
}
}

catch
{
MessageBox.Show("Oeps! Er ging iets mis!");
}

finally
{
conn.Close();
}

return reserveerStatus;
}

public int CheckLid(int lidID)
{
int aantal = 0;
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("lidID", lidID);
cmd.Connection = conn;
cmd.CommandText = "SELECT COUNT(*) AS Aantal FROM Lid WHERE Id = @lidID";

try
{
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();

while (sdr.Read())
{
aantal = (int)sdr["Aantal"];
}
}

catch
{
MessageBox.Show("Oeps! Er ging iets mis!");
}

finally
{
conn.Close();
}
return aantal;
}
public int CheckPas(int pasID)
{
int aantal = 0;
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("pasID", pasID);
cmd.Connection = conn;
cmd.CommandText = "SELECT COUNT(*) AS Aantal FROM Pas WHERE Id = @pasID";

try
{
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();

while (sdr.Read())
{
aantal = (int)sdr["Aantal"];
}
}

catch
{
MessageBox.Show("Oeps! Er ging iets mis!");
}

finally
{
conn.Close();
}
return aantal;
}

public void CheckSoort(int itemID)
{
// Variable declaration
string soort = "";
List<Boek> boek = new List<Boek>();
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();

// Check if ItemID is boek or game
cmd.Parameters.AddWithValue("itemID", itemID);
cmd.Connection = conn;
cmd.CommandText = "SELECT Soort FROM Item WHERE ID = @itemID;";

// Retrieve data
// Try-catch-final to catch wrong itemID error
try
{
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();

while (sdr.Read())
{
soort = sdr["Soort"].ToString();
}

if (soort == "Boek")
{
itemsoort = 1;
}
if (soort == "Game")
{

itemsoort = 2;
}

if (soort == "")
{
itemsoort = 3;
MessageBox.Show("Dit ID bestaat niet!");

}
}
catch
{
MessageBox.Show("Oeps! Er ging iets mis!");
}
finally
{
conn.Close();
}

}

public bool CheckStatus(int itemID)
{
// Variables
bool itemStatus = true;
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("itemID", itemID);

// Method
cmd.Connection = conn;
cmd.CommandText = "SELECT Status FROM Item WHERE Item.Id = @itemID;";

try
{
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
itemStatus = (bool)sdr["Status"];
}
}

catch
{
MessageBox.Show("Oeps! Er ging iets mis!");
}
finally
{

conn.Close();
}
return itemStatus;

}

public List<Game> ShowGame(int itemID)
{
// Variable declaration
List<Game> gameList = new List<Game>();
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("itemID", itemID);

// Retrieve data
cmd.Connection = conn;
cmd.CommandText = "SELECT Game.*, Item.*, convert(varchar, Item.DvU, 101) AS DatumVUitgave, Platform.Soort as Platform, Media.soort as Media, GameGenre.Genre AS Genre FROM Game LEFT JOIN ITEM ON Item.ID = Game.itemID LEFT JOIN Media ON Game.MediaID = Media.Id LEFT JOIN Platform ON Game.PlatformID = Platform.Id LEFT JOIN GameGenre ON Game.GameGenreID = GameGenre.Id WHERE Game.itemID = @itemID;";

try
{
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
gameList.Add(new Game() { Titel = sdr["Titel"].ToString(), Dvu = sdr["DatumVUitgave"].ToString(), Genre = sdr["Genre"].ToString(), Media = sdr["Media"].ToString(), Pegi = sdr["PEGI"].ToString(), Platform = sdr["Platform"].ToString(), EAN = sdr["EAN"].ToString(), Uitgever = sdr["Uitgever"].ToString() });
}

}

catch (FormatException e)
{
MessageBox.Show(e.Message);
}

catch
{
MessageBox.Show("Oeps! Er ging iets mis!");
}



finally
{
conn.Close();
}

return gameList;
}

public List<Boek> ShowBoek(int itemID)
{
// Variable declaration
List<Boek> boekList = new List<Boek>();
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("itemID", itemID);

// Retrieve data
cmd.Connection = conn;
cmd.CommandText = "SELECT Boek.*, Item.*, convert(varchar, Item.DvU, 101) AS DatumVUitgave, Auteur.Auteur AS Auteur, BoekGenre.Genre AS Genre, Bindwijze.Soort as Bindwijze, Taal.Taal AS Taal FROM Boek LEFT JOIN Item ON Boek.ItemID = Item.Id LEFT JOIN Bindwijze ON Boek.BindwijzeID = Bindwijze.ID LEFT JOIN BoekGenre ON Boek.BoekGenreID = BoekGenre.Id LEFT JOIN Auteur on Boek.AuteurID = Auteur.Id LEFT JOIN Taal ON Boek.TaalID = Taal.Id WHERE Boek.ItemID = @itemID;";

try
{
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
// Fill boek with retrieved item(s)
boekList.Add(new Boek() { Auteur = sdr["Auteur"].ToString(), Genre = sdr["Genre"].ToString(), Dvu = sdr["DatumVUitgave"].ToString(), ISBN101 = sdr["ISBN10"].ToString(), ISBN131 = sdr["ISBN13"].ToString(), Paginas = sdr["AantalPagina"].ToString(), Taal = sdr["Taal"].ToString(), Titel = sdr["Titel"].ToString(), Bindwijze = sdr["Bindwijze"].ToString(), Uitgever = sdr["Uitgever"].ToString() });
}

}

catch (FormatException e)
{
MessageBox.Show(e.Message);
}

catch
{
MessageBox.Show("Oeps! Er ging iets mis!");
}


finally
{
conn.Close();
}

return boekList;
}
}

最佳答案

尝试将 string lidID; 更改为 string lidID = ""; 并可能将 bool reserveerStatus; 更改为 bool reserveerStatus = false;

关于c# - 将用户控件添加到 winform 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21125439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com