两个 from 如何同时使用一个class?

huxingyu 2005-01-09 09:43:47
我用c#写一个简单的 数据库操作程序
Form1 用于显示数据库信息
Form2 用于更新所选择的数据信息
/////////////////////////////////
我把所有的数据库操作都封装在一个class中。以下简称 hxy
可是~~form1 实例化hxy以后。不知道如何让form2 也使用Form1实例化后的hxy.
我最终的目的就是 通过一个类的数据库连接 可以同时共享给两个窗体使用!

-----
| hxy | Class <-- 图示
-----
/ \
/ \
------- -------
| Form1 | | Form2 |
------- -------

希望高手们可以帮我解答问题!谢谢~~~~
...全文
109 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huxingyu 2005-01-09
  • 打赏
  • 举报
回复
哈哈哈~~~可以了!!!!!!!!!!!!!!!!!!!!!!!!

终于可以了!!!!!!!!!!!!!!!!!!!!!!!!!!

谢谢楼上的各位大哥!!!

我怎么给你们分阿???我第一次提出问题~~还不会散分~~不好意思

告诉我吧~~嘿嘿~~~好高兴呢!!
huxingyu 2005-01-09
  • 打赏
  • 举报
回复
public class hxy
{
public string temp;
private static hxy hxyInstance = new hxy();

public static hxy HxyInstance()
{
return hxyInstance;
}
public static hxy GetInstance()
{
if(hxyInstance == null)
hxyInstance = new hxy();
return hxyInstance;
}
public hxy()
{
hxyInstance = this;
temp="失败~~~";
}

}

这样写对吗????俺蔡~~~都晕晕了~~~~~~
lyl_rabbit 2005-01-09
  • 打赏
  • 举报
回复
hxy.HxyInstance.temp show() 一下试试
lyl_rabbit 2005-01-09
  • 打赏
  • 举报
回复
单例模式 + 上面说的

public class hxy
{
private static hxy hxyInstance = new hxy();
public static hxy HxyInstance
{
return hxyInstance;
}
}
huxingyu 2005-01-09
  • 打赏
  • 举报
回复
vb6.0 中在第一个模块声明的 公有的变量 可以在所有 窗体中操作

c# 不知道用什么好方法可以实现。

5555~~~~高手在帮我想想办法~~~~

我想如果所有的数据库操作 都封装在一个class中 所有的窗体都可以共享一个已经实例化的class 就好了~~~不知道除了 以上我说的那个方法~~还有什么可以 实现这一个目的的?

再次 谢谢高手!哪怕只是浏览不回的朋友~~~~ :)
kid83 2005-01-09
  • 打赏
  • 举报
回复
自定义类或者使用Web Services
huxingyu 2005-01-09
  • 打赏
  • 举报
回复
楼上的大哥,我试过了~~不行啊~~~
可能是我说得不清楚吧~~~
////////////////////////////// 独立的hxy类////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
public class hxy
{
public string temp; //为了测试是否可以共享使用
private static hxy hxyInstance;
public static hxy GetInstance()
{
if(hxyInstance == null)
hxyInstance = new hxy();
return hxyInstance;
}
public hxy()
{
hxyInstance = this;
}

}
//////////////////////////////////////////////////////////////////////////////


////////////////////////////////// 窗体Form1 /////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
private void Form1_Load(object sender, System.EventArgs e)
{
hxy h=new hxy(); //实例化 hxy class
h.temp="hello world!"; //为了看效果 给temp赋值
Form2 f2=new Form2();
f2.Show();
}
//////////////////////////////////////////////////////////////////////////////


////////////////////////////////// 窗体Form2 /////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
private void Form2_Load(object sender, System.EventArgs e)
{
//这里如何才写 才能调用已经在Form1窗体实例化的hxy类?
}
//////////////////////////////////////////////////////////////////////////////


顺便问一下~~~如何 结此问题~~~嘿嘿~~~新手~~~高手别笑话我 谢谢啦
maksim_wei 2005-01-09
  • 打赏
  • 举报
回复
让form2获取hxy的唯一实例
class hxy
{
private static hxy hxyInstance;
public static hxy GetInstance()
{
if(hxyInstance == null)
hxyInstance = new hxy();
return hxyInstance;
}
public hxy()
{
...
hxyInstance = this;
}
}

110,537

社区成员

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

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

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