对象倾斜访问类的属性
我有一个子类的按钮与一对夫妇性质对象倾斜访问类的属性
public class ZButton : Button {
private string UIB = "I";
public int _id_ { get; set; }
public int rowIndex { get; set; }
protected override void OnClick(EventArgs e)
{
Form frmNew = new Form(UIB);
frmNew.ShowDialog();
base.OnClick(e);
}
}
的我在窗体上放置该按钮,这里是在形式按钮的代码。
private void zButton1_Click(object sender, EventArgs e) {
rowIndex = dataGridView1.CurrentRow.Index;
_id_ = Convert.ToInt16(dataGridView1["id_city", rowIndex].Value.ToString());
}
我不能访问这些属性(rowIndex位置)和(ID)和编译器会发出错误
The name 'rowIndex' does not exist in the current context
我是相当新的C#,所以我必须失去了一些东西obviuos。
回答:
rowIndex
和_id_
是zButton
的属性,它们不能直接在您的表单中访问。所以,如果你需要访问他们在点击事件,您必须将sender
转换为zButton
并访问instance.Something的性质是这样的:
private void zButton1_Click(object sender, EventArgs e) {
zButton but=(zButton)sender;
but.rowIndex = dataGridView1.CurrentRow.Index;
but._id_ = Convert.ToInt16(dataGridView1["id_city",but.rowIndex].Value.ToString());
}
回答:
投你的发件人按钮。
var button = sender as zButton; if (button != null)
{
button.rowIndex ...
...
}
回答:
如果方法zButton1_Click是表单类的成员,则它可以直接访问它祖先类相同的类的属性,或者像您的按钮聚合对象的不性质。
为了访问您的按钮的属性,您应该明确指定您尝试访问哪个对象的属性。这意味着,如果你想访问一个聚合按钮zButton1的属性,你应该
dataGridView1["id_city", zButton1.rowIndex]
以上是 对象倾斜访问类的属性 的全部内容, 来源链接: utcz.com/qa/261280.html