كيف يمكنني نسخ الصورة والنص إلى الحافظة ككائن واحد؟

StackOverflow https://stackoverflow.com/questions/285042

  •  08-07-2019
  •  | 
  •  

سؤال

وأنا أحاول نسخ وصورة من ملف والنص من ملف إلى الحافظة. نيتي ثم فتح مستند Word أو البريد الإلكتروني وجهات النظر ولصق كل من النص والصورة في أمر واحد معجون القياسية (CTRL-V على سبيل المثال). يمكنني القيام به على حد سواء بشكل منفصل بسهولة بما فيه الكفاية، لكنه لا يفعل لهم على حد سواء في عملية واحدة لا يبدو للعمل.

وهذه هي الطريقة التي كنت قد حصلت على اثنين من يعمل عمليات منفصلة (فقط خطوط كود ذات الصلة بطبيعة الحال، مع محاولة / صيد تجريده من غيرها.):

وإضافة صورة إلى الحافظة:

...

Bitmap imageToAdd = new Bitmap(imageFilePath);
Clipboard.SetImage(imageToAdd);

...

وإضافة نص إلى الحافظة:

...

StreamReader rdr = new StreamReader(textFilePath);
string text = rdr.ReadToEnd();

Clipboard.SetText(text);

...

وأنا باستخدام C # و. NET 2.0 الإطار والتي تستهدف ويندوز XP (والمرجح فيستا في المستقبل القريب).

وTIA

هل كانت مفيدة؟

المحلول

ولقد لاحظت يمكن أن تنتقل فقط كائن في.

في هذه الحالة، عندما يقوم المستخدم بالضغط الأمر للصق، التعليمات البرمجية يمكن تنفيذ ظيفتين، أو وظيفة واحدة بشكل متكرر، وفي كل مرة يحصل على البيانات التي تريدها ولصقه في.

وهكذا، والنظر في حلقات أو العودية.

نصائح أخرى

هل يمكن استخدام RTF، التي يمكن الجمع بين النص والرسومات. لاحظ أنه يمكن أن يكون CF_BITMAP وCF_TEXT في الحافظة في نفس الوقت. ولكنها ليست مفيدة. وكنت الحصول على النص عند لصق في المفكرة، وكنت الحصول على الصورة النقطية عند لصق في الرسام، وأن معظم التطبيقات الأخرى اختيار واحد أو الآخر، ولكن أبدا على حد سواء. لذلك فمن مجرد الأكاديمي. نوع من أنيق، في ما كانت تلك الأعطال نقل على ستار تريك أنيق. ولكن أيضا الفوضى.

وربما يمكن استخدام SetDataObject الذي يتطلب معلمة كائن، هل يمكن استخدام مجموعة وجوه؟

والمصفوفة كائن يمكن أن تعقد البيانات المطلوبة.

وانظر هذا الرابط:

http://msdn.microsoft.com/en-us/library /5b8kt5z4.aspx

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top