コード例 #1
0
 //위 reloadCreenThr에서 실행시키는, 새로이 정보를 얻어오는 스레드
 public static void getNewDatas(MainWindow mWin)
 {
     //---날씨/장소/시간, RAM 정보를 다시 가져온다.
     HTMLhandler.getWeatherFromHTML(mWin.packs.datas);
     WMIhandler.initialRAMdata(mWin.packs.datas);
     
 }
コード例 #2
0
        //첫 메세지들을 출력한다. 매개변수만 잘 전달하면 메인 스레드에서든, 서브 스레드에서든 호출가능
        public static void printInitMsgs(ILtextBox textbox, MainWindow mWin)
        {
            DateTime currTime = DateTime.Now;
            string currTimeStr = currTime.ToString("yyyy") + "/" + currTime.ToString("MM") + "/" + currTime.ToString("dd") + " " + currTime.ToString("HH:mm:ss");

            textbox.printMSG(mWin.responseMsgs, "Namyong N Daddy started");
            textbox.printMSG(mWin.responseMsgs, "현 로그인 시간 : " + currTimeStr);
            textbox.printMSG(mWin.responseMsgs, "위치 : " + mWin.datas.getLoc());
            textbox.printMSG(mWin.responseMsgs, "온도 : " + mWin.datas.getTemper() + ", 날씨 : " + mWin.datas.getWeather());
            textbox.printMSG(mWin.responseMsgs, "램 사용가능량 : " + mWin.datas.getUsableRAM());
        }
コード例 #3
0
        //위 reload에서 호출하는 스레드. 여기선 스크린의 객체들을 제거한다.
        public static void reloadScreenThr(MainWindow mWin)
        {
            //---여러 객체들을 다 지운다. 거기에 달려있는 스레드들도 제거

            mWin.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate
            {
                mWin.screen.getBoard().deleteBoard();
                mWin.screen.getNamyong().deleteNamyong();
                mWin.screen.getDaddy().deleteDaddy();
                mWin.screen.getFlyingboxReference().deleteBOX();
                mWin.screen.getMall().deleteMall();


                mWin.screen.sp.Children.Clear();
                mWin.showScreenGrid.Background = mWin.packs.refreshBr;
            }));

            //크롤링을 이용해 새로이 정보를 얻어올 것이다.
            Thread refresh2 = new Thread(() => getNewDatas(mWin));
            refresh2.Start();
            refresh2.Join();

            //정보를 다 얻어왔다면 텍스트박스를 재생성, 메시지 재출력

            mWin.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate
            {

                mWin.textbox.textboxlines = new List<string>();
                mWin.textbox.lines = mWin.textbox.currentLine = 0;
                mWin.responseMsgs.Text = "";
                printInitMsgs(mWin.textbox, mWin);

                //윈도우를 만든다.
                mWin.screen = new ShowScreen(mWin.showScreenGrid, mWin.SCREEN_RECT, mWin, mWin.packs);

                //텍스트 박스가 새로 만든 ShowScreen을 참조하도록 지시
                mWin.textbox.addShowScreenReference(mWin.screen);

            }));

            //갱신 끝
            
            mWin.isRefreshing = false;
            
        }
コード例 #4
0
 //타이머 함수. 로딩이 끝나면 잠시 후에 이걸 실행시킬 것이다.
 static void goto_mainwin(ILwin.InitWindow thiswin)
 {
     thiswin.dispatcherTimer.Stop();
     Window mainWin = new MainWindow(thiswin.packs);
     mainWin.Show();
     thiswin.Close();
     
 }