Winform窗体传值、退出;操作注册表,读取JSON文件

Winform窗体之间传值

1.调用另一个窗体传递值

实现代码如下:
窗体Form1

		LoginData ld = null;
		public LoginData Ld
        {
            get
            {
                return ld;
            }

            set
            {
                ld = value;
            }
        }

在窗体Form2中调用如下

LoginData ld = null;
Form1 form = new Form1();
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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值