যারা কাস্টম ডায়লগ তৈরি করতে চান না তবে এখনও 100% ডাব্লুপিএফ উপায় পছন্দ করেন এবং পৃথক ডিডিএল, অতিরিক্ত নির্ভরতা বা পুরানো এপিআই ব্যবহার করতে চান না তাদের জন্য সংরক্ষণ করুন ডায়ালগটি ব্যবহার করে আমি খুব সাধারণ একটি হ্যাক নিয়ে এসেছি।
কোনও নির্দেশের প্রয়োজন নেই, আপনি কেবল নীচের কোডটি কপি-পেস্ট করতে পারেন!
এটি এখনও খুব ব্যবহারকারী-বান্ধব হওয়া উচিত এবং বেশিরভাগ লোকেরা কখনই লক্ষ্য করবে না।
ধারণাটি এই সত্য থেকে আসে যে আমরা সেই কথোপকথনের শিরোনামটি পরিবর্তন করতে পারি, ফাইলগুলি আড়াল করতে পারি এবং ফলস্বরূপ ফাইল নামটি প্রায় সহজেই কাজ করতে পারি।
এটি নিশ্চিতভাবেই একটি বড় হ্যাক, তবে সম্ভবত এটি আপনার ব্যবহারের জন্য ঠিক কাজটি করবে ...
এই উদাহরণে আমার কাছে একটি পাঠ্যবাক্সের অবজেক্টটি রয়েছে যাতে ফলস পথটি রয়েছে, তবে আপনি সম্পর্কিত রেখাগুলি সরিয়ে ফেলতে পারেন এবং যদি আপনি চান তবে একটি রিটার্ন মান ব্যবহার করতে পারেন ...
// Create a "Save As" dialog for selecting a directory (HACK)
var dialog = new Microsoft.Win32.SaveFileDialog();
dialog.InitialDirectory = textbox.Text; // Use current value for initial dir
dialog.Title = "Select a Directory"; // instead of default "Save As"
dialog.Filter = "Directory|*.this.directory"; // Prevents displaying files
dialog.FileName = "select"; // Filename will then be "select.this.directory"
if (dialog.ShowDialog() == true) {
string path = dialog.FileName;
// Remove fake filename from resulting path
path = path.Replace("\\select.this.directory", "");
path = path.Replace(".this.directory", "");
// If user has changed the filename, create the new directory
if (!System.IO.Directory.Exists(path)) {
System.IO.Directory.CreateDirectory(path);
}
// Our final value is in path
textbox.Text = path;
}
এই হ্যাকের সাথে একমাত্র সমস্যাগুলি হ'ল:
- স্বীকৃতি বোতামটি "ডিরেক্টরি নির্বাচন করুন" এর মতো কিছু পরিবর্তে "সংরক্ষণ করুন" বলছে, তবে খনিগুলির মতো ক্ষেত্রে আমি ডিরেক্টরি নির্বাচন "সংরক্ষণ" করি যাতে এটি এখনও কার্যকর হয় ...
- ইনপুট ক্ষেত্রটি এখনও "ডিরেক্টরি নাম" এর পরিবর্তে "ফাইলের নাম" বলে, তবে আমরা বলতে পারি যে ডিরেক্টরিটি এক ধরণের ফাইল ...
- এখনও "টাইপ হিসাবে সংরক্ষণ করুন" ড্রপডাউন রয়েছে, তবে এর মানটি "ডিরেক্টরি (* .This.directory)" বলে, এবং ব্যবহারকারী এটি অন্য কোনও কারণে পরিবর্তন করতে পারে না, আমার পক্ষে কাজ করে ...
বেশিরভাগ লোকেরা এগুলি লক্ষ্য করবে না, যদিও আমি অবশ্যই মাইক্রোসফ্টগুলি তাদের গাধাগুলি থেকে মাথা বের করে আনতে চাইলে অফিসিয়াল ডাব্লুপিএফ উপায়টি ব্যবহার করতে পছন্দ করব তবে তারা যতক্ষণ না করে, এটিই আমার অস্থায়ী স্থিরতা।