类继承的构造函数与Form_Load

alive501 2011-03-18 10:10:27
基类: class base1:Form
{
private base();
public base(string s1,string s2);
//里面初始化两个私有字段
form_load(object sender, eventArg e)
{
//有用到那两个字段,检查下格式,如果格式不对 会抛出异常
}
}

子类 class child1:base1
{
public child1();
public child1(string s1,string s2): base(s1,s2)
{}

}
这样的话 打开子类的设计器就会报错. 抛出在Form_Load里面的那个异常,说格式不正确. 何解?
构造函数报错我还可以理解. 为什么子类设计器会去Form_load里面运行呢? S1我是依赖于构造函数传进来的,设计器在Form_Load里就把S1当空字符串处理了.
...全文
72 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
alive501 2011-03-22
  • 打赏
  • 举报
回复
在父类上用了个try catch 将就了
alive501 2011-03-21
  • 打赏
  • 举报
回复
 public partial class OracleSqlBuild : Form
{


#region 构造函数
protected OracleSqlBuild()
{
InitializeComponent();
}
/// <summary>
///
/// </summary>
/// <param name="tableName">要查询的表格的名称,格式为 Schema.TableName 用户名.表名</param>
/// <param name="conStr">连接字符串</param>
public OracleSqlBuild(string tableName, string conStr)
{
InitializeComponent();
this.tbl = tableName;
this.conStr = conStr;
}

#endregion

/// <summary>
/// 表名owner.tableName
/// </summary>
string tbl = "";
/// <summary>
/// 返回的SQL语句
/// </summary>
//string sql ="";
DBAccess2 db2;

DataTable dt1;

/// <summary>
/// 连接字符串
/// </summary>
string conStr="";

private void OracleSqlBuild_Load(object sender, EventArgs e)
{
if (!tbl.Contains("."))
MessageBox.Show("tableName Error");
}
}



public class MsSqlbuild :OracleSqlBuild
{
protected MsSqlbuild()
//: base()
{

}



public MsSqlbuild(string tableName, string conStr)
: base(tableName, conStr)
{
this.Text = "MsSqlBuild";
this.tableName = tableName;
this.conStr = conStr;
}
string tableName;
string conStr;
}

打开子类的设计器界面 ,会报错:tbl未初始化
ycproc 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 amandag 的回复:]
form_load和构造函数有什么关系?
[/Quote]

+1 http://msdn.microsoft.com/zh-cn/library/system.windows.forms.form.load(VS.80).aspx
alive501 2011-03-21
  • 打赏
  • 举报
回复
Form_Load会处理构造函数传进来的两个变量.
现在子类开设计器时,就会报错说,那两个变量没有初始化.
子类编译通过又可以正常运行的.
我VS2005
amandag 2011-03-21
  • 打赏
  • 举报
回复
form_load和构造函数有什么关系?
alive501 2011-03-21
  • 打赏
  • 举报
回复
子类没有调用Form_Load
bdmh 2011-03-18
  • 打赏
  • 举报
回复
乱七八糟,你在哪调用的form_load
Hamber_Bao 2011-03-18
  • 打赏
  • 举报
回复
楼主,你的代码怎么那么乱···第一个类的类名不是base1吗,怎么构造函数就成base了呢??

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧