public void Init() { thisWindow = new XingKongWindow(); string shutdownWindowJson = File.ReadAllText(@"AppForm.json"); XingKongWindow.Entity windowEntity = JsonConvert.DeserializeObject <XingKongWindow.Entity>(shutdownWindowJson); thisWindow.SetEntity(windowEntity); btLaunch = thisWindow.ControlsSet["btLaunch"] as XingKongButton; btBack = thisWindow.ControlsSet["btBack"] as XingKongButton; pbIcon = thisWindow.ControlsSet["pbIcon"] as XingKongImageBox; lbAllApps = thisWindow.ControlsSet["lbAllApps"] as XingKongLabel; lbApps = thisWindow.ControlsSet["lbApps"] as XingKongListBox; lbApps.Refresh(); pbIcon.SkipPreProceed = true; pbIcon.LoadPicture(Path.Combine("SystemUI", "appstore.png")); apps = AppFinder.GetAppList(); if ((apps == null) || (apps.Count == 0)) { XingKongMessageBox box1 = new XingKongMessageBox { Caption = "提示", Title = "然而一个应用都没有。" }; box1.btOk.IsChecked = true; box1.DialogStyle = XingKongMessageBox.Style.OK; Console.WriteLine("user clicked: " + box1.ShowAsync().Result); } else { if (lbApps.Items == null) { lbApps.Items = new List <string>(); } foreach (AppInfo info in apps) { lbApps.Items.Add(info.AppName); } lbApps.Refresh(); } XingKongScreen.ClearScreen(); thisWindow.HardworkDraw(); XingKongScreen.FreshScreen(); keyboard = XingKongScreen.GetKeyboard(); keyboard.KeyPressed += new Keyboard.KeyPressedHandler(Keyboard_KeyPressed); }
public override void Init() { appPath = Path.Combine("Apps", "TpLinkNetMonitor"); currentWindow = new XingKongWindow(); XingKongWindow.Entity entity = JsonConvert.DeserializeObject <XingKongWindow.Entity>(File.ReadAllText(Path.Combine(this.appPath, "MainForm.json"))); currentWindow.SetEntity(entity); XingKongPanel plGlobal = currentWindow.ControlsSet["plGlobal"] as XingKongPanel; lbGlobalDownload = plGlobal.ControlsSet["lbGlobalDownload"] as XingKongLabel; lbGlobalUpload = plGlobal.ControlsSet["lbGlobalUpload"] as XingKongLabel; XingKongPanel plArea0 = currentWindow.ControlsSet["plArea0"] as XingKongPanel; lbArea0PcName = plArea0.ControlsSet["lbArea0PcName"] as XingKongLabel; lbArea0Ip = plArea0.ControlsSet["lbArea0Ip"] as XingKongLabel; lbArea0Up = plArea0.ControlsSet["lbArea0Up"] as XingKongLabel; lbArea0Down = plArea0.ControlsSet["lbArea0Down"] as XingKongLabel; XingKongPanel plArea1 = currentWindow.ControlsSet["plArea1"] as XingKongPanel; lbArea1PcName = plArea1.ControlsSet["lbArea1PcName"] as XingKongLabel; lbArea1Ip = plArea1.ControlsSet["lbArea1Ip"] as XingKongLabel; lbArea1Up = plArea1.ControlsSet["lbArea1Up"] as XingKongLabel; lbArea1Down = plArea1.ControlsSet["lbArea1Down"] as XingKongLabel; XingKongPanel plArea2 = currentWindow.ControlsSet["plArea2"] as XingKongPanel; lbArea2PcName = plArea2.ControlsSet["lbArea2PcName"] as XingKongLabel; lbArea2Ip = plArea2.ControlsSet["lbArea2Ip"] as XingKongLabel; lbArea2Up = plArea2.ControlsSet["lbArea2Up"] as XingKongLabel; lbArea2Down = plArea2.ControlsSet["lbArea2Down"] as XingKongLabel; XingKongPanel plArea3 = currentWindow.ControlsSet["plArea3"] as XingKongPanel; lbArea3PcName = plArea3.ControlsSet["lbArea3PcName"] as XingKongLabel; lbArea3Ip = plArea3.ControlsSet["lbArea3Ip"] as XingKongLabel; lbArea3Up = plArea3.ControlsSet["lbArea3Up"] as XingKongLabel; lbArea3Down = plArea3.ControlsSet["lbArea3Down"] as XingKongLabel; XingKongPanel plPage = currentWindow.ControlsSet["plPage"] as XingKongPanel; lbPage = plPage.ControlsSet["lbPage"] as XingKongLabel; btPrev = currentWindow.ControlsSet["btPrev"] as XingKongButton; btNext = currentWindow.ControlsSet["btNext"] as XingKongButton; //显示初始内容 lbGlobalDownload.Text = "下载:N/A"; lbGlobalUpload.Text = "上传:N/A"; for (int i = 0; i < 4; i++) { setAreaContent(i, null); } lbPage.Text = "退出:Esc"; pageManager = new PageManager(); XingKongScreen.ClearScreen(); currentWindow.HardworkDraw(); XingKongScreen.FreshScreen(); //登陆并启动定时刷新计时器 if (Login(out token)) { LogData("登陆成功,token:" + token); request_url = string.Format("http://192.168.0.1/stok={0}/ds", token); if (timer == null) { timer = new System.Timers.Timer(); timer.Interval = 1000; timer.Elapsed += Timer_Elapsed; timer.Start(); } } else { LogData("登陆失败"); XingKongMessageBox msgBox = new XingKongMessageBox(); msgBox.Title = "登陆TP-Link后台失败"; msgBox.Caption = "提示"; msgBox.DialogStyle = XingKongMessageBox.Style.OK; XingKongMessageBox.DialogResult result = msgBox.ShowAsync().Result; LogData("user click : " + result.ToString()); Quit(); } keyboard = XingKongScreen.GetKeyboard(); keyboard.KeyPressed += new Keyboard.KeyPressedHandler(this.Keyboard_KeyPressed); }
private async void Keyboard_KeyPressed(System.Windows.Forms.Keys pressedKey) { switch (pressedKey) { case System.Windows.Forms.Keys.Left: buttonIndex = (--buttonIndex % 3); break; case System.Windows.Forms.Keys.Right: buttonIndex = (++buttonIndex % 3); break; default: break; } if (buttonIndex < 0) { buttonIndex += 3; } switch (pressedKey) { case System.Windows.Forms.Keys.Left: case System.Windows.Forms.Keys.Right: switchButton(buttonIndex); XingKongScreen.FreshScreen(); break; case System.Windows.Forms.Keys.Enter: if (buttonIndex == 2) { //用户选择并点击了了关机按钮 XingKongMessageBox mb = new XingKongMessageBox(); mb.Caption = "提示"; mb.Title = "确定要关机吗?"; mb.btOk.IsChecked = false; mb.btCancel.IsChecked = true; Suspend(); XingKongMessageBox.DialogResult result = await mb.ShowAsync(); Console.WriteLine("user clicked: " + result.ToString()); switch (result) { case XingKongMessageBox.DialogResult.OK: Thread t = new Thread(new ThreadStart(ShutdownComputer)); t.IsBackground = true; t.Start(); break; case XingKongMessageBox.DialogResult.Cancel: Resume(); break; default: Resume(); break; } } else if (buttonIndex == 1) { //用户选择并点击了应用按钮 Suspend(); AppForm appForm = new AppForm(); appForm.QuitAction = Resume; appForm.LoadAppAction = LoadAppAction; Thread t = new Thread(new ThreadStart(appForm.Init)); t.IsBackground = true; t.Start(); } break; case System.Windows.Forms.Keys.F5: XingKongScreen.ClearScreen(); currentForm.HardworkDraw(); XingKongScreen.FreshScreen(); break; default: break; } }