我是C#的新手,我有以下问题:
DBOps.cs:
class DBOps()
{
internal static void Update(DataGridView dataGridView1)
{
if (dataGridView1.SelectedRows.Count != 0)
{
var user = new User();
user.Id = (int) dataGridView1.SelectedRows[0].Cells[0].Value;
user.Username = (string) dataGridView1.SelectedRows[0].Cells[1].Value;
user.FirstName = (string) dataGridView1.SelectedRows[0].Cells[2].Value;
user.LastName = (string) dataGridView1.SelectedRows[0].Cells[3].Value;
user.Email = (string) dataGridView1.SelectedRows[0].Cells[4].Value;
user.Password = (string) dataGridView1.SelectedRows[0].Cells[5].Value;
var updateForm = new UpdateForm(user);
var result = updateForm.ShowDialog();
if (result == DialogResult.OK)
{
}
else if (result == DialogResult.Cancel)
{
}
}
}
}
User.cs:
class User
{
public int Id { get; set; }
public string Username { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
UpdateForm.cs:
public partial class UpdateForm : Form
{
public UpdateForm(User user)
{
InitializeComponent();
txtId.Text = user.Id.ToString();
txtUser.Text = user.Username;
txtFName.Text = user.FirstName;
txtLName.Text = user.LastName;
txtEmail.Text = user.Email;
txtPass.Text = user.Password;
}
//code
}
DBOps类中的值存储正确,我已经检查过了。现在我想使用User.cs中的值设置UpdateForm中的TextBox。
答案 0 :(得分:1)
您只需获取对User类的引用,然后通过其属性getter访问它们。例如:
function putDatainthis(arr) {
var data = [3,4,6,2,6,1];
var concat_array = data.concat(arr);
}
答案 1 :(得分:1)
我不知道你想要做什么,只是将一个对象传递给另一个类,你可以使用构造函数方法。
public class SecondObject
{
public SecondObject(User theuser)
{
textbox1.Text = theuser.Id
textbox2.text = theuser.Username
// ...
}
}
要使用你的第二堂课,请执行以下操作:
var user = new User();
user.Id = (int) dataGridView1.SelectedRows[0].Cells[0].Value;
user.Username = (string) dataGridView1.SelectedRows[0].Cells[1].Value;
user.FirstName = (string) dataGridView1.SelectedRows[0].Cells[2].Value;
user.LastName = (string) dataGridView1.SelectedRows[0].Cells[3].Value;
user.Email = (string) dataGridView1.SelectedRows[0].Cells[4].Value;
user.Password = (string) dataGridView1.SelectedRows[0].Cells[5].Value;
SecondObject obj = new SecondObject(user);
答案 2 :(得分:1)
首先,
我建议你使用Convert.ToInt32()
,Convert.ToString()
而不是在你的问题中像那样投射。
然后请检查班级User
如果您使用的是Visual Studio,则可以通过键盘上的{F12}轻松检查类定义。
如果课程不在同一个项目中,请添加参考资料。
如果类不在同一名称空间中,请添加一行using xxxxx;
如果仍然无法获取值,请将所有属性更改为公开。
最后, 我想你可以通过这些代码行来获取值:
txtUserID.Text = User.Id.ToString();
txtUserName.Text = User.UserName;
txtFirstName.Text = User.FirstName;
txtLastName.Text = User.LastName;
txtEmail.Text = User.Email;
txtPassword.Text = User.Password;
我建议您不要在文本框中显示密码。
如果您对C#还有任何疑问,请与我们联系。