问题 Terminal.Gui(Gui.cs)-前一个福彩12选5走势图应该消失

本杰马

成员
已加入
2020年6月2日
留言内容
14
编程经验
1-3
大家好,

想知道是否有人使用过TUI库之类的诅咒。我想做的是超级基本的,但是我还没有弄清楚如何使用这个库来完成它:
向用户显示一个带有按钮元素的福彩12选5走势图。单击这些按钮之一后,将出现一个带有新界面的新福彩12选5走势图。前一个福彩12选5走势图应该消失。
但是,由于新福彩12选5走势图只是在原始福彩12选5走势图上方绘制,因此我无法弄清楚如何切换原始福彩12选5走势图的显示。我一直在阅读API参考并寻找
通过示例,但似乎无法弄清楚。

任何帮助,将不胜感激!
 

本杰马

成员
已加入
2020年6月2日
留言内容
14
编程经验
1-3
不确定您要指的是哪个库。一个相关的链接会很好。
Github: migueldeicaza / gui.cs
说明文件: 命名空间Terminal.Gui

我正在接触可能使用该库的任何人。尽管如此,如果您有兴趣研究这个示例,我也可以整理一个实际的编码示例,以便您可以准确地了解我正在尝试执行的操作。我非常感谢您的帮助。
 

本杰马

成员
已加入
2020年6月2日
留言内容
14
编程经验
1-3
通过清除屏幕并在新福彩12选5走势图实例上调用应用程序主循环,这是我所想要的最接近的方法。但是,我似乎无法控制我用哪种颜色清除终端。

这是代码:


C#:
using System;
using Terminal.Gui;
using System.Collections.Generic;

namespace example
{
  class Tui
  {
  
    // Collection of windows
      static Dictionary<string,Window> _windows =
          new Dictionary<string,Window>();

    static void Main ()
    {
        // Start Gui.cs
        Application.Init ();

        // Initialize Windows
        _windows.Add ("window_A", CreateWindow_A());
        _windows.Add ("window_B", CreateWindow_B());

        // Start main loop on window_A
        Application.Run (_windows["window_A"]);
    }


    static Window CreateWindow_A ()
    {
        // Create container
        var win = new Window ("Window A") {
            X = Pos.Center (),
            Y = Pos.Center (),
            Height = 40,
            Width  = 25
        };

        // Add components
        win.Add (
            new Button ("_Open Window B") {
                X = Pos.Center (),
                Y = Pos.Center (),
                Clicked = () => {
                    // "Close" window_A
                    Application.Top.Clear();
                    // "Open" window_B by running main loop on window
                    Application.Run (_windows["window_B"]);
                }
            },
            new Button ("_Quit") {
                X = Pos.Center (),
                Y = Pos.Center () + 1,
                Clicked = () => {
                    // This doesn't actually exit the program.
                    Application.RequestStop ();
                }
            }
        );

        return win;
    }

    static Window CreateWindow_B ()
    {
        // Create container
        var win = new Window ("Window B") {
            X = Pos.Center (),
            Y = Pos.Center (),
            Height = 25,
            Width  = 40
        };

        // Add components
        win.Add (
            new Button ("_Back to Window A") {
                X = Pos.Center (),
                Y = Pos.Center (),
                Clicked = () => {
                    // "Close" window_B
                    Application.Top.Clear();
                    // "Open" window_A by running main loop on window
                    Application.Run (_windows["window_A"]);
                }
            }
        );

        return win;
    }
  }
}

请注意,如果您希望构建并运行此程序,则无法从程序内部退出程序。
 
Last edited:

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,557
地点
弗吉尼亚州切萨皮克
编程经验
10+
I'm just speed reading through the documentation's overview and seems to me, you are actually looking for a Dialog not a Window.

 

本杰马

成员
已加入
2020年6月2日
留言内容
14
编程经验
1-3
I'm just speed reading through the documentation's overview and seems to me, you are actually looking for a Dialog not a Window.


嗯,这也是我的印象。但是我在想的容器是模态的,但是具有您可能在福彩12选5走势图中找到的组件和功能。老实说,也许我在想的容器可能不是直接提供的东西。
尽管如此,我可能只能使用对话而不是福彩12选5走势图,因为它或多或少地表现出我想要的样子。但是我将不得不花更多的时间筛选文档。
 
最佳 底部