예제 #1
0
        //响应地图事件
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Button btn = sender as Button;

            for (int i = 0; i < mr; i++)
            {
                for (int j = 0; j < mc; j++)
                {
                    if (("Button" + i + "_" + j) == btn.Name)
                    {
                        if (path_num == 0 && a[i, j] == 0)
                        {
                            box.Text = i + "-" + j;

                            path[path_num].x = i;
                            path[path_num].y = j;
                        }
                        else if (a[i, j] == 0 && path_num < 10)
                        {
                            TextBlock block = new TextBlock();
                            block.Style = (Style)FindResource("MyTextBlock");
                            block.Text  = "路径:" + path_num;
                            TextBox in_box = new TextBox();
                            in_box.Style = (Style)FindResource("MyTextBox");
                            in_box.Text  = i + "-" + j;
                            path_Con.Children.Add(block);
                            path_Con.Children.Add(in_box);
                            path_Con.RegisterName("newTextBlock" + path_num, block);
                            path_Con.RegisterName("newTextBox" + path_num, in_box);

                            path[path_num].x = i;
                            path[path_num].y = j;
                        }
                        else if (path_num > 10)
                        {
                            MessageBox.Show("路径已满>10");
                            return;
                        }
                        else
                        {
                            MessageBox.Show("这不是一个可去的路径");
                            return;
                        }
                        path_num++;
                    }
                }
            }
        }
        public static void Gap(WrapPanel wrapPanel, int left_lim, int right_lim, string name, int margin_left, bool flag)
        {
            TextBox txtBox;

            for (int j = left_lim; j <= right_lim; j++)
            {
                if (flag)
                {
                    txtBox = new TextBox()
                    {
                        Name = name + j, Margin = new Thickness(margin_left, 0, 0, 0), FontSize = 14, FontFamily = new FontFamily("Segoe UI")
                    };
                    if (margin_left != 0)
                    {
                        txtBox.PreviewTextInput += TxtBox_PreviewTextInput;
                    }
                    wrapPanel.Children.Add(txtBox);
                    wrapPanel.RegisterName(txtBox.Name, txtBox);
                }
                else
                {
                    if (wrapPanel.FindName(name + j) != null)
                    {
                        txtBox = (TextBox)wrapPanel.FindName(name + j);
                        wrapPanel.Children.Remove(txtBox);
                        wrapPanel.UnregisterName(txtBox.Name);
                    }
                }
            }
        }
        public static void ExpertCreate(WrapPanel wrapPanel, int right_lim)
        {
            TextBox txtBox;
            var     text   = string.Empty;
            var     name   = "txtBoxExpertAssessments";
            var     pocket = string.Empty;

            for (var j = 1; j <= right_lim * right_lim; j++)
            {
                txtBox = new TextBox()
                {
                    Name = name + j, FontSize = 14, FontFamily = new FontFamily("Segoe UI")
                };
                txtBox.PreviewTextInput += TxtBox_PreviewTextInput;
                wrapPanel.Children.Add(txtBox);
                wrapPanel.RegisterName(txtBox.Name, txtBox);

                if (j % right_lim == 0)
                {
                    wrapPanel.Width = wrapPanel.ItemWidth * right_lim;
                }
            }
        }