Winform窗体之间传值
1.通过构造函数
实现代码如下:
窗体Form1
LoginData ld = null;
public LoginData Ld
{
get
{
return ld;
}
set
{
ld = value;
}
}
在窗体Form2中调用如下
LoginData ld = null;
Login form = new Login();
ld = form.Ld;
2.通过静态变量
首先在窗体Form1中定义一个静态变量并赋值
public static string ErrorStr = "";
ErrorStr ="text";
在窗体Form2中调用如下
string err = Form1.ErrorStr;
3.调用另一个窗体时传递值
在窗体Form1中调用窗体Form2
string value = "text";
Form2 form = new Form2(value);
form.ShowDialog();
在窗体Form2接收值
string value = "";
public FaultHandling(string value )
{
this.value = value ;
}
Winform窗口退出
1.this.Close()关闭的是当前窗体
2.Application.Exit()应用程序退退出,关闭所有的窗体
操作注册表
RegistryKey的引用:using Microsoft.Win32;
读取注册表项中的内容
//public static object GetValue (string keyName, string valueName, object defaultValue);
//keyName:注册表完整路径 valueName:键名称 defaultValue:valueName不存在要返回的值
//例:
string RegeditPath="HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Internet Explorer";
string Key="svcUpdateVersion"
string registData = (string)Registry.GetValue(RegeditPath,Key, "");
也可以使用Registry.LocalMachine.OpenSubKey()来读取
在运行过程中提示没有操作注册表的权限,解决方案如下:
给程序增加一个Application manifest file文件(应用程序清单文件),然后将asInvoker替换成requireAdministrator。一般加了这个文件后,调试程序的时候程序会要求以administrator的身份来启动vs
读取JSON文件
1.调用接口获取json文件内容
//ServiceAddress是json文件地址
string serviceAddress = ServiceAddress;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
//对读取的内容处理
JObject job = JObject.Parse(retString);
var value = job [key].ToString();
2.读取本地json文件内容
StreamReader sr = new StreamReader(ServiceAddress);
string retString = sr.ReadToEnd();
sr.Close();
//对读取的内容处理
JObject job = (JObject)(JsonConvert.DeserializeObject(retString));
var value = job [key].ToString();
注:数组用JArray,对象用JObject