.NET حدد موقع مربع النص برنامجياً في التحكم ActiveX ، وقم بتعديل النص وإرساله
-
02-10-2019 - |
سؤال
لدي عنصر تحكم ActiveX (Adobe PDF Reader) مع شريط أدوات. لا يعرض عنصر التحكم هذا بعض الوظائف المتاحة من خلال شريط الأدوات (وظائف البحث بشكل رئيسي). أنا أبحث عن وسيلة لتحديد موقع حقل البحث برمجيًا على شريط الأدوات ، وإدخال النص واستدعاء البحث (ما يعادل الضغط على Enter في هذا الحقل). ما هي الطريقة الأكثر دقة لجعل ذلك؟ وجدت حلًا يعتمد على system.windows.automation مساحة الاسم ، ولكن لم يستطع تشغيله بشكل صحيح.
شكرًا.
هذا هو الرمز الذي جربته:
Dim pdfElement As AutomationElement = AutomationElement.FromHandle(AxAcroPDF1.Handle)
Dim condition As New AndCondition(New OrCondition(New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit), New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document), New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Text)), New PropertyCondition(AutomationElement.IsTextPatternAvailableProperty, True))
Dim ac As AutomationElementCollection = pdfElement.FindAll(TreeScope.Descendants, condition)
For Each element As AutomationElement In ac
If element.Current.Name = "Find" Then
element.SetFocus()
SendKeys.Send("TESTSEARCH")
End If
Next
المحلول
نفس الإجابة كما هو السؤال السابق. تحتوي واجهة أتمتة البيع بالتجزئة على طريقة FindText (). لقد أعطيتك بالفعل الرابط إلى وثائق API.
لا تنتمي إلى StackOverflow