Member 12907205 Ответов: 1

Как я могу ограничить открытие нескольких экземпляров одной страницы в C#


Всем Привет

Требование - у меня есть две страницы в моем приложении, в каждой из которых есть кнопка containg, так что когда я нажимаю кнопку первой страницы, она переключает меня на вторую страницу, а когда нажимаю кнопку на второй странице, она переключает меня на первую страницу.

Проблема - когда я нажимаю кнопку первой страницы, она переключает меня на вторую страницу, но когда я нажимаю на кнопку второй страницы вместо переключения на вторую страницу, она открывает новый экземпляр второй страницы, так что открываются два экземпляра первой страницы.

Так что открывается несколько экземпляров одной и той же страницы. Надеюсь, на этот раз все ясно.

Пожалуйста, помогите мне.

С уважением
Солнечный

Что я уже пробовал:

private void Btn(object sender, RoutedEventArgs e)
        {


               if (btn!= null)
                {
                  btn.Topmost = true;
                }

                else
                {
                  btn = new btn("abc_717.xml");
                  btn.Show();
                }
        }

Snesh Prajapati

Что такое фреймворк: ASP.NET WebForm, WPF или WinForms ?

1 Ответов

Рейтинг:
0

JayantaChatterjee

Я создаю пример приложения в Winforms:-
Здесь Form3 - это форма MDI, мой код:
форма MDI:

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form3 : Form
    {
        Form1 frm1;
        Form2 frm2;
        public Form3()
        {
            InitializeComponent();
            frm1 = new Form1();
            frm2 = new Form2();
        }

        private void Form3_Load(object sender, EventArgs e)
        {
            frm1.MdiParent = this;
            frm2.MdiParent = this;
            frm1.Show();
        }
        public void showFirst()
        {
            frm1.Show();
            frm1.Focus();
        }
        public void showSecond() {
            frm2.Show();
            frm2.Focus();
        }
    }
}

Код Form1 (который также является первой формой) :-
using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
           
        }

        private void button2_Click(object sender, EventArgs e)
        {
            ((Form3)this.MdiParent).showSecond();
        }
       
    }
}


Формы Form2(вторая форма) код:
using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ((Form3)this.MdiParent).showFirst();
        }
    }
}


Я надеюсь, что этот образец поможет вам..
Если у вас есть какие-либо вопросы, то не стесняйтесь спрашивать... :-)