C#工作总结

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

上一篇:Delphi登入时主窗体实现简单隐藏


下一篇:react中 函数式组件hook的使用