একটি পরীক্ষিত এবং সহজ সমাধান
আমি এসও এবং কিছু অন্যান্য সাইটে এই প্রশ্নের উত্তর খুঁজছি, তবে একটি উত্তর আমার কাছে খুব জটিল ছিল এবং কিছু অন্যান্য উত্তর কেবল সঠিকভাবে কাজ করে না, তাই অনেক কোড পরীক্ষার পরে আমি এই ধাঁধাটি সমাধান করেছি।
দ্রষ্টব্য: আমি উইন্ডোজ 8 ব্যবহার করছি এবং আমার টাস্কবারটি স্বয়ংক্রিয় লুকানোর মোডে নেই।
আমি আবিষ্কার করেছি যে কোনও পরিবর্তন সম্পাদন করার আগে উইন্ডোস্টেটটি সাধারণ হিসাবে সেট করা অচ্ছাদিত টাস্কবারের সাহায্যে ত্রুটি থামিয়ে দেবে।
কোড
আমি এই ক্লাসটি তৈরি করেছি যার দুটি পদ্ধতি রয়েছে, প্রথমটি "সম্পূর্ণ স্ক্রিন মোডে" প্রবেশ করে এবং দ্বিতীয়টি "পূর্ণ স্ক্রিন মোড" ছেড়ে যায়। সুতরাং আপনাকে কেবল এই শ্রেণীর একটি অবজেক্ট তৈরি করতে হবে এবং এন্টারফুলস্ক্রিনমোড পদ্ধতিতে বা লেভফুলস্ক্রিনমোড পদ্ধতিতে আর্গুমেন্ট হিসাবে আপনি পূর্ণ স্ক্রিন সেট করতে চান এমন ফর্মটি পাস করতে হবে:
class FullScreen
{
public void EnterFullScreenMode(Form targetForm)
{
targetForm.WindowState = FormWindowState.Normal;
targetForm.FormBorderStyle = FormBorderStyle.None;
targetForm.WindowState = FormWindowState.Maximized;
}
public void LeaveFullScreenMode(Form targetForm)
{
targetForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
targetForm.WindowState = FormWindowState.Normal;
}
}
ব্যবহারের উদাহরণ
private void fullScreenToolStripMenuItem_Click(object sender, EventArgs e)
{
FullScreen fullScreen = new FullScreen();
if (fullScreenMode == FullScreenMode.No) // FullScreenMode is an enum
{
fullScreen.EnterFullScreenMode(this);
fullScreenMode = FullScreenMode.Yes;
}
else
{
fullScreen.LeaveFullScreenMode(this);
fullScreenMode = FullScreenMode.No;
}
}
আমি এই একই উত্তরটি অন্য একটি প্রশ্নের উপরে রেখেছি যে আমি নিশ্চিত নই যে এটির একটি সদৃশ কিনা তা নয়। (অন্য প্রশ্নের লিঙ্ক: টাস্কবারের শীর্ষে কীভাবে একটি উইন্ডোজ ফর্মটি পূর্ণ স্ক্রিনে প্রদর্শন করবেন? )