Exemple #1
0
        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);
        }
Exemple #3
0
        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;
            }
        }