আমি ডাব্লুপিএফ-এর প্রথম উইন্ডো থেকে দ্বিতীয় উইন্ডোটি কীভাবে খুলব?


125

আমি ডব্লিউপিএফ-এ নতুন। আমার দুটি উইন্ডো রয়েছে যেমন উইন্ডো 1 এবং উইন্ডো 2। উইন্ডো 1 এ আমার একটি বোতাম আছে। আমি যদি সেই বোতামটি ক্লিক করি তবে উইন্ডো 2 খুলতে হবে। তার জন্য আমার কী করা উচিত?

আমি চেষ্টা করেছি কোড এখানে:

window2.show();

উত্তর:


237

আপনার কোড লিখুন window1

private void Button_Click(object sender, RoutedEventArgs e)
{
    window2 win2 = new window2();
    win2.Show();
}

আমি কি উইন্ডো_ল্ডেড ইভেন্টে এই লাইনটি লিখতে পারি? যদি তাই হয় তবে দ্বিতীয় উইন্ডোটি প্রদর্শিত হচ্ছে না।
মনীশ দুবে

37

আপনি যখন একটি নতুন ডাব্লুপিএফ অ্যাপ্লিকেশন তৈরি করবেন তখন আপনার একটি .xaml ফাইল এবং একটি .cs ফাইল থাকা উচিত। এগুলি আপনার মূল উইন্ডো উপস্থাপন করে। আপনার সাব উইন্ডো উপস্থাপন করতে একটি অতিরিক্ত .xaml ফাইল এবং .cs ফাইল তৈরি করুন।

MainWindow.xaml

<Window x:Class="WpfApplication2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Content="Open Window" Click="ButtonClicked" Height="25" HorizontalAlignment="Left" Margin="379,264,0,0" Name="button1" VerticalAlignment="Top" Width="100" />
    </Grid>
</Window>

MainWindow.xaml.cs

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void ButtonClicked(object sender, RoutedEventArgs e)
    {
        SubWindow subWindow = new SubWindow();
        subWindow.Show();
    }
}

তারপরে এই ক্লাসগুলিতে আপনার অতিরিক্ত যে কোনও কোডের প্রয়োজন হবে যুক্ত করুন:

SubWindow.xaml
SubWindow.xaml.cs

15
যথেষ্ট সহজ! আমি ডাব্লুপিএফকে ঘৃণা করি, এটি কেবল এতটা অযথা জটিল এবং একটানা কাউন্টার হিসাবে ডিজাইন করা।
রেন

17
private void button1_Click(object sender, RoutedEventArgs e)
{
    window2 win2 = new window2();
    win2.Show();
}

5

ধরে নেওয়া যায় যে দ্বিতীয় উইন্ডোটি হিসাবে সংজ্ঞায়িত হয়েছে public partial class Window2 : Window, আপনি এটি দ্বারা এটি করতে পারেন:

Window2 win2 = new Window2();
win2.Show();

আমি উইন্ডোজ 1 থেকে উইন্ডোজ 2 খুলতে চাই।
আশাক এ

5

এটি আমাকে সহায়তা করেছে: আপনি একই উইন্ডোগুলির সাথে অতিরিক্ত উইন্ডো চাইলে মালিক পদ্ধতিটি মূলত উইন্ডোটিকে অন্য উইন্ডোর সাথে সংযুক্ত করে।

LoadingScreen lc = new LoadingScreen();
lc.Owner = this;
lc.Show();

এটিও বিবেচনা করুন।

this.WindowState = WindowState.Normal;
this.Activate();

5

ডাব্লুপিএফ-এ আমাদের শো () এবং শো ডায়ালগ () পদ্ধতি ব্যবহার করে বেশ কয়েকটি বিকল্প রয়েছে।

ঠিক আছে, নতুন উইন্ডোটি খুললে আপনি যদি খোলা উইন্ডোটি বন্ধ করতে চান তবে আপনি শো () পদ্ধতিটি ব্যবহার করতে পারেন:

Window1 win1 = new Window1();
win1.Show();
win1.Close();

শোডায়ালগ () এছাড়াও একটি উইন্ডো খোলে, তবে এই ক্ষেত্রে আপনি আপনার আগের খোলা উইন্ডোটি বন্ধ করতে পারবেন না।


2

আপনার মতো নতুন উইন্ডোর একটি উদাহরণ তৈরি করতে হবে।

var window2 = new Window2();

একবার উদাহরণস্বরূপ আপনি কী করতে চান তার উপর নির্ভর করে আপনি শো () বা শো ডায়ালগ () পদ্ধতিটি ব্যবহার করতে পারেন ।

window2.Show();

অথবা

var result = window2.ShowDialog();

Nullable<bool>আপনার প্রয়োজন হলে শো ডায়ালগ () ফেরত দেবে ।


2

আপনি উইন্ডো 1 এ একটি বোতাম তৈরি করতে এবং এটিতে ডাবল ক্লিক করতে পারেন। এটি একটি নতুন ক্লিক হ্যান্ডলার তৈরি করবে, যেখানে ভিতরে আপনি এই জাতীয় কিছু লিখতে পারেন:

var window2 = new Window2();
window2.Show();

2

আপনি এই কোডটি ব্যবহার করতে পারেন:

private void OnClickNavigate(object sender, RoutedEventArgs e)
{
    NavigatedWindow navigatesWindow = new NavigatedWindow();
    navigatesWindow.ShowDialog();
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.