初学C#,在进行不同窗体之间的数据传递时总觉的自己的方法非常不好,希望大家讨论一下,学习学习。
解决方案 »
- C# 远程判断进程是否挂起
- 编写一个下拉列表框(combox)控件,支持基本下拉列表框控件的基本功能,并在下拉框上添加“清空列表”功能和下拉框拖拉尺寸功能
- 操作过Excel的大大来下吧 虽然知道希望渺茫
- VS2010 老是提示参与性能改进计划--如何去除?
- 请问如何随机从数据中读取数据?
- SqlAdapter.Update()出现异常,怎么解决?
- 是不是在PrintPreviewDialog中显示出来就可以打印出来?
- 请大家帮忙看看这句话的意思,给个注释好吗?
- 求助:为什么只返回了一人值呢?
- 简单送分问题
- 想做三个DropDonwList,表示年月日,年、月的选项的变化时,日的下拉列表中的天数也跟着变,将年、月的AutoPostBack设置为True就出现了问题
- 存储过程问题
如在窗体1中定义了一个session(@object)=某个值
在其他窗体便可以对该session(@object)对象进行引用了
方法二:可以使用cookie进行进行窗体间的数据传递
如在窗体1中定义一个cookie对象,然后再在其他窗体对该对象进行引用便可以了
其实窗体传参的方法很多具体实现可以根据你的需要:)
<script language="C#" runat="server"> void Page_Load(Object sender, EventArgs E) {
if (Request.Cookies["preferences1"] == null) {
HttpCookie cookie = new HttpCookie("preferences1");
cookie.Values.Add("ForeColor","black");
cookie.Values.Add("BackColor","beige");
cookie.Values.Add("LinkColor","blue");
cookie.Values.Add("FontSize","8pt");
cookie.Values.Add("FontName","Verdana");
Response.AppendCookie(cookie);
}
} protected String GetStyle(String key) {
HttpCookie cookie = Request.Cookies["preferences1"];
if (cookie != null) {
switch (key) {
case "ForeColor" :
return cookie.Values["ForeColor"];
break;
case "BackColor" :
return cookie.Values["BackColor"];
break;
case "LinkColor" :
return cookie.Values["LinkColor"];
break;
case "FontSize" :
return cookie.Values["FontSize"];
break;
case "FontName" :
return cookie.Values["FontName"];
break;
}
}
return "";
} </script> <style> body {
font: <%=GetStyle("FontSize")%> <%=GetStyle("FontName")%>;
background-color: <%=GetStyle("BackColor")%>;
} a { color: <%=GetStyle("LinkColor")%> } </style> <body style="color:<%=GetStyle("ForeColor")%>"> <h3><font face="宋体">在客户端 Cookie 中存储易失数据</font></h3> <b><a href="customize.aspx">自定义此页</a></b><p> 设想这里有某些内容 ...<br>
设想这里有某些内容 ...<br>
设想这里有某些内容 ...<br>
设想这里有某些内容 ...<br>
设想这里有某些内容 ...<br>
设想这里有某些内容 ...<br>
设想这里有某些内容 ...<br>
设想这里有某些内容 ...<br> </body>
</html>
<script language="C#" runat="server"> void Page_Load(Object sender, EventArgs E) {
if (!IsPostBack){
HttpCookie cookie = Request.Cookies["preferences1"];
ViewState["Referer"] = Request.Headers["Referer"];
if ( cookie != null ){
BackColor.Value = (String)cookie.Values["BackColor"];
ForeColor.Value = (String)cookie.Values["ForeColor"];
LinkColor.Value = (String)cookie.Values["LinkColor"];
FontSize.Value = (String)cookie.Values["FontSize"];
FontName.Value = (String)cookie.Values["FontName"];
}
}
} void Submit_Click(Object sender, EventArgs E) {
HttpCookie cookie = new HttpCookie("preferences1");
cookie.Values.Add("ForeColor",ForeColor.Value);
cookie.Values.Add("BackColor",BackColor.Value);
cookie.Values.Add("LinkColor",LinkColor.Value);
cookie.Values.Add("FontSize",FontSize.Value);
cookie.Values.Add("FontName",FontName.Value);
Response.AppendCookie(cookie); if ( ViewState["Referer"] != null ){
Response.Redirect(ViewState["Referer"].ToString());
}
} void Cancel_Click(Object sender, EventArgs E) {
if ( ViewState["Referer"] != null ){
Response.Redirect(ViewState["Referer"].ToString());
}
} String GetStyle(String key) {
HttpCookie cookie = Request.Cookies["preferences1"];
if (cookie != null) {
switch (key) {
case "ForeColor" :
return cookie.Values["ForeColor"];
break;
case "BackColor" :
return cookie.Values["BackColor"];
break;
case "LinkColor" :
return cookie.Values["LinkColor"];
break;
case "FontSize" :
return cookie.Values["FontSize"];
break;
case "FontName" :
return cookie.Values["FontName"];
break;
}
}
return "";
} </script> <style> body {
font: <%=GetStyle("FontSize")%> <%=GetStyle("FontName")%>;
background-color: <%=GetStyle("BackColor")%>;
} table {
font: <%=GetStyle("FontSize")%> <%=GetStyle("FontName")%>;
background-color: <%=GetStyle("BackColor")%>;
foreground-color: <%=GetStyle("ForeColor")%>
} a { color: <%=GetStyle("LinkColor")%> } </style> <body style="color:<%=GetStyle("ForeColor")%>"> <form runat="server"> <h3><font face="宋体">自定义此页</font></h3> <b>选择您的首选项:</b><p> <table style="color:<%=GetStyle("ForeColor")%>">
<tr>
<td>背景色:</td>
<td>
<select id="BackColor" runat="server">
<option>beige</option>
<option>yellow</option>
<option>red</option>
<option>blue</option>
<option>lightblue</option>
<option>lightgreen</option>
<option>black</option>
<option>white</option>
</select>
</td>
</tr>
<tr>
<td>前景色:</td>
<td>
<select id="ForeColor" runat="server">
<option>black</option>
<option>beige</option>
<option>yellow</option>
<option>red</option>
<option>blue</option>
<option>lightblue</option>
<option>lightgreen</option>
<option>white</option>
</select>
</td>
</tr>
<tr>
<td>超级链接的颜色:</td>
<td>
<select id="LinkColor" runat="server">
<option>blue</option>
<option>beige</option>
<option>yellow</option>
<option>red</option>
<option>lightblue</option>
<option>lightgreen</option>
<option>black</option>
<option>white</option>
</select>
</td>
</tr>
<tr>
<td>字体大小:</td>
<td>
<select id="FontSize" runat="server">
<option>9pt</option>
<option>10.5pt</option>
<option>12pt</option>
<option>14pt</option>
</select>
</td>
</tr>
<tr>
<td>字体名称:</td>
<td>
<select id="FontName" runat="server">
<option>宋体</option>
<option>Tahoma</option>
<option>Arial</option>
<option>Times</option>
</select>
</td>
</tr>
</table> <p> <input type="submit" OnServerClick="Cancel_Click" Value="取消" runat="server"/>
<input type="submit" OnServerClick="Submit_Click" Value="提交" runat="server"/> </form> </body>
</html>
private void button7_Click(object sender, System.EventArgs e)
{
Fr_zspzd zspzd=new Fr_zspzd(this.dataSet11,this.myToolbar1);
zspzd.Show();
}窗体Fr_zspzd:
public class Fr_zspzd : System.Windows.Forms.Form
{
DataSet ds1=null;
myBaseForm.myToolbar myToolbar1;
...........
public Fr_zspzd(DataSet ds,myBaseForm.myToolbar myToolbar) //构造函数
{
ds1=ds;
myToolbar1=myToolbar; //把传递的信息保存下来
........
}
private void Fr_zspzd_Load(object sender, System.EventArgs e)
{
//函数中就可以使用了
//传递的值是和第一个页面是同步的
}也可以用属性传:
private void button5_Click(object sender, System.EventArgs e)
{
WindowsApplication1.Form2 f2 = new Form2();
f2.MdiParent=this;
f2.Show();
}//-----------------------------------------------
public class Form2 : System.Windows.Forms.Form
{
private Form1 fm1;
public Form1 Fm1
{
get{return fm1;}
set{fm1=value;}
}