Winform中怎样在一个窗体中获得另一个窗体中的控件的值?有两个窗体:一个是Form1.cs的主窗体,另一个是Login.cs的登录窗口,现在在login.cs窗口中有一个combobox控件(JSXZ),想在Form1.cs中获取它的值,应该怎样做?请多指教/
解决方案 »
- .net基础 笔试题(全解完整答案)
- 跪求牛人帮忙
- 事务问题
- 如何禁用windowXP中ctrl+alt+del,不允许出现任务管理器
- 哪位有Microsoft Office XP Primary Interop Assemblies (PIAs)的安装文件???在线等
- 有关TREEVIEW的事件问题
- C#调用CMPP的东软Api(DLl)出问题,请C#高手帮助!分不够可以再加!
- 哪位C#高手帮帮忙!关于PC与单片机之间的串口通信编程
- c# winform 中的 datagrid 控件怎么获取当前选定的某行某列的值?
- C#中float类型转换怎么禁止科学计数法
- 关于DataColumn 的Expression属性
- 服务器如何找到本地路径,只有这么点分了,急~~~
private string _cmbSelValue = "";
public string CmbSelValue
{
get{return combobox.SelectedText;}//or combobox.SelectedItem………………
}如果想要获得整个控件就直接把string 改成Combobox类型
public class Loginfrm:form
{
private string _cmbvalue=string.Empty;
public CmbValue
{
set{_cmbvalue=value;}
get{return _cmbvalue;}
}}在frm1中,
Loginfrm frm=new Loginfrm();
//显示frm,
string value=frm.CmbValue;第二种,放一个静态属性,放到应用程序主类,或者其它公共类中
namespace aa.App
{
static class Program
{
public static string LoginFrmCmbValue= string.Empty;
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
}//在LoginFrm中,更改时,更改
Program.LoginFrmCmbValue="值";在主窗体中,直接用Program.LoginFrmCmbValue获取值
然后赋值
这样哪个窗体都能通过这个量来得到值
哈
比较笨的方法
int index1 = 0;//dataGridView1中ID列的索引
string Id = dataGridView2[index1, dataGridView2.SelectedCells[0].RowIndex].Value.ToString();
B b=new B(id)
b.show();B窗体
PUBLIC INT ID;
{
class Tfvalue
{
public static string val = string.Empty;
}
}
不过你这种情况,最好使用类似session 的方法首先,在登陆窗体中将用户名和密码保存到一个对象中 userInfo,包括用户名和密码public class UserInfo
{
public string _userName;
public string _userPassword;
public UserInfo(string userName,string userPassword)
{
_userName=userName;
_userPassword = userPassword;
}
}
UserInfo userInfo = new UserInfo("张三","123456");
AppDomain.CurrentDomain.SetData("UserInfo",userInfo)然后,在该进程中(单程序域进程),所有窗体或其他类对象中都可以这样获得该对象UserInfo temp = (UserInfo)AppDomain.CurrentDomain.GetData("UserInfo");