Windows窗体如何操作不同的屏幕

本文关键字:屏幕 操作 窗体 何操作 Windows | 更新日期: 2023-09-27 18:27:54

我有一个asp.net c#程序,但现在我需要在windows窗体中创建一个应用程序,我试着看了一些教程,但它们都只显示了一个窗体。这个概念是如何在windows窗体中实现的?

在asp.net中,你创建一个页面,并用文本框、下拉列表等控件填充它。也许还有一个带有"转到下一步"的按钮,那么你就会有另一个具有不同控件和自己功能的页面。因此,当您单击"下一步"时,您将执行类似Response.Redirect("SomePage.aspx");的操作。。

这是如何在windows窗体中完成的?,我能有几个表格并从一个导航到另一个吗?如果是这样的话,在从一个数据导航到另一个数据时,如何保持数据?。

如果这个问题太基本,请原谅,但我是windows窗体的新手。

如有任何帮助,将不胜感激

问候

Windows窗体如何操作不同的屏幕

您也可以制作UserControls并用控件填充它们。然后,您可以在表单或容器中添加或删除它们。这就是我在应用程序中切换"编辑页面"的方式。

使用2个UserControls和一个Panel作为容器的简单示例:

public partial class Form1 : Form
{
    UserControl1 usr1 = new UserControl1();
    UserControl2 usr2 = new UserControl2();
    public Form1()
    {
        InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
        panel1.Controls.Clear();
        panel1.Controls.Add(usr1 );
    }
    private void button2_Click(object sender, EventArgs e)
    {
        panel1.Controls.Clear();
        panel1.Controls.Add(usr2 );
    }
}

基本上,您有一个父窗体,可以派生任何数量的子窗体。因此,在将数据持久化到内存中的情况下(否则,您只使用数据库或文件或…),您可以在窗体之间来回传递数据,也可以将其全部存储在父窗体中,并从子窗体访问该父窗体中的数据。我似乎找不到一个很好的视觉表现,但我尝试了以下几点:

Parent
|
|-->Child
  |
  |->GrandChild
|
|->Child2

因此,父级将创建一个新表单,并使用Show或ShowModal显示它,其中Modal意味着在显示该表单时,应用程序中的任何其他内容都不能具有焦点。而且,父窗体是这一切的根,因此在关闭父窗体之前,应用程序一直处于打开状态。

第二种可能性

您可以创建不同的控件,以便在主窗体的面板中进行交换。这可能更接近你在网络上的期望。因此,基本上,您从默认屏幕或空屏幕开始。如果它是一个默认屏幕,那么它将只是位于主窗体面板中的一个控件。单击某个按钮时,您可以删除旧控件并创建新控件以放置在其位置,也可以创建新控件并将其放在旧控件的顶部,以使旧控件"消失"(直到您"关闭"/销毁该控件)。

如果这没有意义,请告诉我,我会尝试更彻底地解释这个概念