উত্তর:
দুটি সভা আছে যা বিভিন্ন সমাবেশ এবং বিভিন্ন নামের জায়গাগুলিতে বাস করে।
উইনফোর্ডস: নীচের নেমস্পেস ডিক্লেয়ারেশন ব্যবহার করুন, নিশ্চিত করুন যে গুণটি Main
চিহ্নিত করা [STAThread]
হয়েছে:
using System.Windows.Forms;
ডাব্লুপিএফ: নীচের নেমস্পেসের ঘোষণাটি ব্যবহার করুন
using System.Windows;
কনসোল: রেফারেন্স যুক্ত করুন System.Windows.Forms
, নিম্নলিখিত নেমস্পেস ডিক্লেয়ারেশন ব্যবহার করুন, নিশ্চিত করুন যে গুণটি Main
চিহ্নিত করা [STAThread]
হয়েছে। অন্য উত্তরে ধাপে ধাপে গাইড
using System.Windows.Forms;
সঠিক স্ট্রিংটি অনুলিপি করতে (এই ক্ষেত্রে আক্ষরিক):
Clipboard.SetText("Hello, clipboard");
পাঠ্যবাক্সের বিষয়বস্তু অনুলিপি করতে হয় টেক্সটবক্স.কপি () ব্যবহার করুন বা প্রথমে পাঠ্য সংগ্রহ করুন এবং তারপরে ক্লিপবোর্ডের মান সেট করুন:
Clipboard.SetText(txtClipboard.Text);
একটি উদাহরণের জন্য এখানে দেখুন । বা ... অফিসিয়াল এমএসডিএন ডকুমেন্টেশন বা এখানে ডাব্লুপিএফের জন্য ।
মন্তব্য:
ক্লিপবোর্ডটি ডেস্কটপ ইউআই ধারণা, এএসপি-র মতো সার্ভার সাইড কোডে সেট করার চেষ্টা করে। নেট কেবলমাত্র সার্ভারে মান সেট করবে এবং ব্যবহারকারীরা তাদের ব্রাউজারে কী দেখতে পাবে তার কোনও প্রভাব নেই। লিঙ্কযুক্ত উত্তরের ফলে ক্লিপবোর্ড অ্যাক্সেস কোড সার্ভারটি চালানো যায় যার সাথে SetApartmentState
আপনি কী অর্জন করতে চান তা অসম্ভব।
এই প্রশ্ন কোডটিতে নিম্নলিখিত তথ্যের পরেও যদি একটি ব্যতিক্রম পাওয়া যায় তবে ক্লিপবোর্ডে অনুলিপি করার ক্ষেত্রে "বর্তমান থ্রেডটি একক থ্রেড অ্যাপার্টমেন্টে (এসটিএ) সেট করতে হবে" দেখুন see
এই প্রশ্ন / উত্তরটি নিয়মিত। নেট অন্তর্ভুক্ত করে। নেট কোর দেখুন -। নেট কোর - ক্লিপবোর্ডে অনুলিপি করুন?
ধাপে ধাপে ফ্যাশনে কনসোল প্রকল্পগুলির জন্য , আপনাকে প্রথমে System.Windows.Forms
রেফারেন্স যুক্ত করতে হবে । নেট 4.5 সাথে নেট ভিজুয়াল স্টুডিও সম্প্রদায় 2013 এ নিম্নলিখিত পদক্ষেপগুলি কাজ করে:
System.Windows.Forms
।তারপরে, using
আপনার কোডের শীর্ষে অন্যদের সাথে নিম্নলিখিত বিবৃতিটি যুক্ত করুন :
using System.Windows.Forms;
তারপরে, নিম্নলিখিত দুটি যোগ করুন Clipboard
। SetText
আপনার কোড বিবৃতি:
Clipboard.SetText("hello");
// OR
Clipboard.SetText(helloString);
এবং সবশেষে, একটি এড়ানোর STAThreadAttribute
জন্য আপনার Main
পদ্ধতিতে নিম্নলিখিত হিসাবে যুক্ত করুন System.Threading.ThreadStateException
:
[STAThreadAttribute]
static void Main(string[] args)
{
// ...
}
StackOverflowException
তত্ক্ষণাত্ STAThreadAttribute
। নেট ফ্রেমওয়ার্ক সিস্টেম ক্লাস লাইব্রেরিতে পূর্ববর্তী হয় =)
ক্লিপবোর্ডে ডাব্লুপিএফ সি # কপি করে ব্যবহার করে এই সমস্যাটির সাথে আমার অভিজ্ঞতা এবং System.Threading.ThreadStateException
এখানে আমার কোডটি রয়েছে যা সমস্ত ব্রাউজারের সাথে সঠিকভাবে কাজ করেছে:
Thread thread = new Thread(() => Clipboard.SetText("String to be copied to clipboard"));
thread.SetApartmentState(ApartmentState.STA); //Set the thread to STA
thread.Start();
thread.Join();
এখানে এই পোস্টে ক্রেডিট
তবে এটি কেবল লোকালহোস্টে কাজ করে, সুতরাং এটি কোনও সার্ভারে চেষ্টা করে দেখুন না কারণ এটি কাজ করে না।
সার্ভার-সাইডে, আমি এটি ব্যবহার করে করেছি zeroclipboard
। একমাত্র উপায়, অনেক গবেষণা পরে।
Clipboard.SetText("hello");
এজন্য আপনাকে নাম System.Windows.Forms
বা System.Windows
স্থান ব্যবহার করতে হবে।
ক্লিপ.এক্সই উইন্ডোতে ক্লিপবোর্ড সেট করতে একটি এক্সিকিউটেবল। মনে রাখবেন যে এটি উইন্ডোজ ব্যতীত অন্য অপারেটিং সিস্টেমের জন্য কাজ করে না , যা এখনও সফল হয়।
/// <summary>
/// Sets clipboard to value.
/// </summary>
/// <param name="value">String to set the clipboard to.</param>
public static void SetClipboard(string value)
{
if (value == null)
throw new ArgumentNullException("Attempt to set clipboard with null");
Process clipboardExecutable = new Process();
clipboardExecutable.StartInfo = new ProcessStartInfo // Creates the process
{
RedirectStandardInput = true,
FileName = @"clip",
};
clipboardExecutable.Start();
clipboardExecutable.StandardInput.Write(value); // CLIP uses STDIN as input.
// When we are done writing all the string, close it so clip doesn't wait and get stuck
clipboardExecutable.StandardInput.Close();
return;
}