亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainform.cs

?? 手機軟件開發..手機軟件開發..手機軟件開發..手機軟件開發..
?? CS
字號:
using System;
using System.ComponentModel;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;
using Skyiv.Ben.PushBox.Common;

namespace Skyiv.Ben.PushBoxStd.Window
{
  public partial class MainForm : Form
  {
    Env env; // 工作環境

    public MainForm()
    {
      env = new Env();
      InitializeComponent();
    }

    protected override void OnLoad(EventArgs e)
    {
      base.OnLoad(e);
      miTopMost.Enabled = (Environment.OSVersion.Platform != PlatformID.WinCE);
      env.LoadConfig();
      env.LoadGroup();
      LoadLevel(true);
      if (env.IsSave) Restore(env.Steps);
    }

    protected override void OnClosing(CancelEventArgs e)
    {
      if (env.IsDesign || env.IsReplay)
      {
        MessageBox.Show("正在“" + (env.IsDesign ? "設計" : "回放") + "”,不能退出。請" +
          (env.IsDesign ? "先“保存”或者“放棄”。" : "等待“回放”完成,或者停止回放。"), "提醒");
        e.Cancel = true;
      }
      else
      {
        env.SaveConfig();
        env.Dispose();
      }
      base.OnClosing(e);
    }

    protected override void OnResize(EventArgs e)
    {
      base.OnResize(e);
      ClientSizeChanged();
    }

    protected override void OnKeyDown(KeyEventArgs e)
    {
      if (!env.IsReplay && !env.IsDesign)
      {
        Direction dir = Direction.None;
        switch (e.KeyCode)
        {
          case Keys.Right: dir = Direction.East; break;
          case Keys.Down: dir = Direction.South; break;
          case Keys.Left: dir = Direction.West; break;
          case Keys.Up: dir = Direction.North; break;
        }
        StepIt(dir, true);
        e.Handled = true;
      }
      base.OnKeyDown(e);
    }

    protected override void OnMouseDown(MouseEventArgs e)
    {
      base.OnMouseDown(e);
      if (!env.IsReplay) env.ToPixel = new Point(e.X, e.Y);
    }

    protected override void OnClick(EventArgs e)
    {
      if (env.IsDesign) Design();
      else if (!env.IsReplay && !TryPush()) TryMove();
      base.OnClick(e);
    }

    protected override void OnPaint(PaintEventArgs e)
    {
      base.OnPaint(e);
      env.Draw(e.Graphics, e.ClipRectangle);
      Rectangle rect = GetStatusBarRectangle();
      e.Graphics.DrawString(env.StatusMessage, Pub.TheFont, Pub.TheBrush, rect.Left, rect.Top);
    }

    private void miExit_Click(object sender, EventArgs e)
    {
      Close();
    }

    private void miOption_Click(object sender, EventArgs e)
    {
      using (OptionDlg dlg = new OptionDlg(TopMost))
      {
        // dlg.MaxLevelSize = env.MaxLevelSize;
        dlg.StepDelay = env.StepDelay;
        dlg.ReplayDelay = env.ReplayDelay;
        dlg.IsSave = env.IsSave;
        dlg.ShowDialog();
        if (dlg.IsOk)
        {
          // env.MaxLevelSize = dlg.MaxLevelSize;
          env.StepDelay = dlg.StepDelay;
          env.ReplayDelay = dlg.ReplayDelay;
          env.IsSave = dlg.IsSave;
        }
      }
    }

    private void miErrorMsg_Click(object sender, EventArgs e)
    {
      using (ErrorMsgDlg dlg = new ErrorMsgDlg(TopMost))
      {
        dlg.ErrorMsg = env.ErrorMsg + Fcl.NewLine + Fcl.NewLine + env.DebugMsg;
        dlg.ShowDialog();
      }
    }

    private void miAbout_Click(object sender, EventArgs e)
    {
      using (Form dlg = new AboutDlg(TopMost))
      {
        dlg.ShowDialog();
      }
    }

    private void miTopic_Click(object sender, EventArgs e)
    {
      using (Form dlg = new TopicDlg(TopMost))
      {
        dlg.ShowDialog();
      }
    }

    private void miStatusbar_Click(object sender, EventArgs e)
    {
      miStatusbar.Checked = !miStatusbar.Checked;
      // sbrMain.Visible = miStatusbar.Checked;
      ClientSizeChanged();
    }

    private void miTopMost_Click(object sender, EventArgs e)
    {
      TopMost = miTopMost.Checked = !miTopMost.Checked;
    }

    private void miRestartOrStopOrSave_Click(object sender, EventArgs e)
    {
      if (env.IsDesign)
      {
        env.SaveDesign();
        LoadLevel(true);
      }
      else if (env.IsReplay) workerThreadIsStop = true;
      else LoadLevel(false);
    }

    private void miUndoOrStopOrCancel_Click(object sender, EventArgs e)
    {
      if (env.IsDesign)
      {
        if (env.Active == Action.Create) env.Level = env.LeveLOem;
        LoadLevel(true);
      }
      else if (env.IsReplay) workerThreadIsStop = true;
      else
      {
        for (bool isFirst = true; ; isFirst = false)
        {
          if (!isFirst && env.StepDelay > 0) Thread.Sleep(env.StepDelay);
          if (Back()) break;
        }
      }
    }

    private void miRecordOrBrick_Click(object sender, EventArgs e)
    {
      if (env.IsDesign)
      {
        env.Pen = Block.Brick;
        UpdateStatus();
      }
      else
      {
        env.Record();
        UpdateStatus();
        miRecordOrBrick.Enabled = false;
        Update();
      }
    }

    private void miBackOrManOrBox_Click(object sender, EventArgs e)
    {
      if (env.IsDesign)
      {
        env.Pen = env.HasWorker ? Block.Box0 : Block.Man0;
        UpdateStatus();
      }
      else Back();
    }

    private void miConfig_Click(object sender, EventArgs e)
    {
      /*
      using (ConfigDlg dlg = new ConfigDlg(TopMost))
      {
        dlg.Groups = env.Groups;
        if (dlg.ShowDialog() == DialogResult.OK)
        {
          env.Init();
          env.SaveConfig(dlg.Groups);
          env.LoadConfig();
          env.LoadGroup();
          LoadLevel(true);
        }
      }
      */
    }

    private void miTran_Click(object sender, EventArgs e)
    {
      /*
      env.Dispose();
      using (TranDlg dlg = new TranDlg(TopMost))
      {
        dlg.MaxLevelSize = env.MaxLevelSize;
        dlg.Groups = env.Groups;
        dlg.ShowDialog();
      }
      env.Init();
      env.LoadGroup();
      LoadLevel(true);
      */
    }

    private void miFirstLevel_Click(object sender, EventArgs e)
    {
      env.Level = 0;
      LoadLevel(true);
    }

    private void miPrevLevel2OrSlot_Click(object sender, EventArgs e)
    {
      if (env.IsDesign)
      {
        env.Pen = Block.Slot;
        UpdateStatus();
      }
      else
      {
        if (env.Level <= 0) return;
        env.Level--;
        LoadLevel(true);
      }
    }

    private void miNextLevel2OrWall_Click(object sender, EventArgs e)
    {
      if (env.IsDesign)
      {
        env.Pen = Block.Wall;
        UpdateStatus();
      }
      else
      {
        if (env.Level >= env.MaxLevel - 1) return;
        env.Level++;
        LoadLevel(true);
      }
    }

    private void miLastLevel_Click(object sender, EventArgs e)
    {
      env.Level = env.MaxLevel - 1;
      LoadLevel(true);
    }

    private void miSelectLevel_Click(object sender, EventArgs e)
    {
      using (SelectLevelDlg dlg = new SelectLevelDlg(TopMost))
      {
        dlg.MaxLevel = env.MaxLevel;
        dlg.Level = env.Level;
        dlg.ShowDialog();
        if (dlg.IsOk)
        {
          env.Level = dlg.Level;
          LoadLevel(true);
        }
      }
    }

    private void miFirstGroup_Click(object sender, EventArgs e)
    {
      env.Group = 0;
      env.LoadGroup();
      LoadLevel(true);
    }

    private void miPrevGroup_Click(object sender, EventArgs e)
    {
      if (env.Group <= 0) return;
      env.Group--;
      env.LoadGroup();
      LoadLevel(true);
    }

    private void miNextGroup_Click(object sender, EventArgs e)
    {
      if (env.Group > env.Groups.Length - 1) return;
      env.Group++;
      env.LoadGroup();
      LoadLevel(true);
    }

    private void miLastGroup_Click(object sender, EventArgs e)
    {
      env.Group = env.Groups.Length - 1;
      env.LoadGroup();
      LoadLevel(true);
    }

    private void miSelectGroup_Click(object sender, EventArgs e)
    {
      using (SelectGroupDlg dlg = new SelectGroupDlg(TopMost))
      {
        dlg.Groups = env.Groups;
        dlg.Group = env.Group;
        dlg.ShowDialog();
        if (dlg.IsOk)
        {
          env.Group = dlg.Group;
          env.LoadGroup();
          LoadLevel(true);
        }
      }
    }
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久天天| 91精品国产麻豆国产自产在线 | 日韩中文字幕一区二区三区| 精品国产乱码久久久久久久久| 91丝袜美腿高跟国产极品老师| 日本网站在线观看一区二区三区| 中文字幕中文字幕在线一区| 欧美一级电影网站| 在线观看91精品国产入口| 国产精品一二三| 人人狠狠综合久久亚洲| 亚洲综合在线第一页| 国产日韩欧美激情| 日韩精品专区在线影院重磅| 精品国产制服丝袜高跟| 欧美网站一区二区| 色欧美日韩亚洲| 丁香婷婷综合色啪| 国产一区在线观看麻豆| 男女视频一区二区| 三级一区在线视频先锋| 亚洲午夜久久久久久久久电影网| 国产精品网站在线| 国产亚洲午夜高清国产拍精品 | 国产精品色哟哟网站| 精品福利视频一区二区三区| 69久久99精品久久久久婷婷 | 91原创在线视频| 成人av在线一区二区| 国产激情91久久精品导航| 久久国产精品72免费观看| 午夜精品福利一区二区蜜股av | 91国产免费看| 色婷婷综合中文久久一本| 99精品视频在线播放观看| 成人深夜福利app| 成人黄色777网| 99麻豆久久久国产精品免费优播| 成人一区二区三区| eeuss鲁片一区二区三区 | 欧美三级蜜桃2在线观看| 91精品福利视频| 在线日韩一区二区| 在线精品观看国产| 欧美片在线播放| 日韩欧美一级精品久久| 精品剧情v国产在线观看在线| 精品国产百合女同互慰| 欧美精品一区二区精品网| 久久久精品国产免大香伊| 国产精品区一区二区三区| 国产精品对白交换视频| 一区二区日韩av| 亚洲成a人片在线观看中文| 国产酒店精品激情| a美女胸又www黄视频久久| 91视频一区二区| 欧美日韩一区二区三区在线| 日韩视频一区二区三区在线播放| 精品久久人人做人人爰| 国产香蕉久久精品综合网| 中文字幕亚洲成人| 亚洲国产成人91porn| 美国av一区二区| 国产精品99久久不卡二区| 成人av网站免费| 欧美三级欧美一级| 亚洲精品在线一区二区| 亚洲国产成人午夜在线一区 | 天天影视网天天综合色在线播放| 美国av一区二区| 岛国av在线一区| 在线影院国内精品| 精品国内片67194| 国产精品久久久久久福利一牛影视 | 日韩精品中文字幕一区二区三区| 久久九九久久九九| 亚洲国产一区二区a毛片| 久久 天天综合| 成人精品视频.| 337p亚洲精品色噜噜| 国产亚洲一区二区三区| 亚洲福中文字幕伊人影院| 国产剧情一区在线| 欧美日韩国产a| 中文字幕 久热精品 视频在线| 一区二区成人在线| 国产91露脸合集magnet| 欧美日韩日日摸| 国产精品久久久久久久裸模 | av爱爱亚洲一区| 日韩欧美国产高清| 亚洲一区在线观看视频| 国产一区二区三区av电影 | **欧美大码日韩| www.亚洲国产| 久久综合久色欧美综合狠狠| 亚洲自拍偷拍图区| 成人手机电影网| www国产亚洲精品久久麻豆| 亚洲图片欧美综合| www.亚洲人| 国产丝袜欧美中文另类| 视频一区在线播放| 91亚洲精华国产精华精华液| 久久久国际精品| 美女在线一区二区| 欧美喷水一区二区| 一区二区激情视频| 91视视频在线观看入口直接观看www | 国产精品自拍毛片| 日韩欧美视频一区| 午夜免费久久看| 一本大道综合伊人精品热热| 欧美激情在线看| 国产乱理伦片在线观看夜一区| 日韩午夜电影在线观看| 午夜伦欧美伦电影理论片| 在线一区二区三区四区| 男女视频一区二区| 欧美精品免费视频| 亚洲一二三四区| 色综合久久综合| 亚洲另类在线一区| 91麻豆swag| 亚洲色图欧美激情| av在线不卡电影| 亚洲欧洲99久久| 99久久婷婷国产综合精品| 日本一二三四高清不卡| 国产成人a级片| 欧美经典一区二区| 成人理论电影网| 日本一二三不卡| 97精品久久久久中文字幕 | 777xxx欧美| 日韩国产一区二| 91麻豆精品久久久久蜜臀| 日日夜夜精品免费视频| 91精品国产福利| 麻豆传媒一区二区三区| 精品国产一区二区三区久久影院| 99视频一区二区| 亚洲一区中文日韩| 欧美日韩在线免费视频| 日韩高清电影一区| 欧美电影免费观看高清完整版在线 | 欧美精品xxxxbbbb| 日本成人在线不卡视频| 欧美成人三级在线| 国产精品影视网| 国产精品久久久久影院老司| 色综合天天综合给合国产| 亚洲免费观看高清完整版在线观看熊 | aa级大片欧美| 亚洲精品精品亚洲| 欧美色爱综合网| 美女视频黄频大全不卡视频在线播放 | 欧美在线999| 青椒成人免费视频| 欧美激情一区二区三区蜜桃视频| 91亚洲精品久久久蜜桃网站| 亚洲国产欧美在线| 日韩精品一区二区三区三区免费| 成人午夜大片免费观看| 亚洲精品五月天| 日韩欧美在线观看一区二区三区| 国产一区三区三区| 亚洲青青青在线视频| 欧美一区二区三区在线观看视频| 紧缚奴在线一区二区三区| 国产精品久久精品日日| 777色狠狠一区二区三区| 国产乱码精品一品二品| 亚洲精品视频免费观看| 日韩一二三区不卡| 成人av网站免费| 毛片不卡一区二区| 日韩毛片视频在线看| 日韩一区二区三区电影| 福利电影一区二区| 三级欧美韩日大片在线看| 国产精品你懂的在线欣赏| 欧美日本不卡视频| 成人h动漫精品一区二区| 五月婷婷激情综合| 国产欧美日韩精品在线| 欧美日韩精品一区二区三区蜜桃| 国产激情视频一区二区在线观看| 亚洲一区二区三区四区的| 国产亚洲欧美日韩在线一区| 欧美视频日韩视频| heyzo一本久久综合| 精品一区在线看| 亚洲一区二区三区四区的| 中文字幕精品在线不卡| 91精品国产品国语在线不卡| 色噜噜久久综合| 成人手机在线视频| 国产伦精一区二区三区|