@@ -6,7 +6,7 @@ ms.author: msedgedevrel
6
6
ms.topic : conceptual
7
7
ms.service : microsoft-edge
8
8
ms.subservice : webview
9
- ms.date : 06/03 /2025
9
+ ms.date : 08/11 /2025
10
10
---
11
11
# Overview of WebView2 APIs
12
12
@@ -33,6 +33,7 @@ when adding an h4 heading, add nav link below the h2
33
33
* [ Cookies] ( #cookies )
34
34
* [ Image capture] ( #image-capture )
35
35
* [ Control whether the screen capture UI is shown] ( #control-whether-the-screen-capture-ui-is-shown )
36
+ * [ Find] ( #find )
36
37
* [ Downloads] ( #downloads )
37
38
* [ Save as] ( #save-as )
38
39
* [ Configure the security warning when saving a file] ( #configure-the-security-warning-when-saving-a-file )
@@ -731,6 +732,111 @@ The `ScreenCaptureStarting` event is raised whenever the WebView2 and/or iframe
731
732
---
732
733
733
734
735
+ <!-- ------------------------------ -->
736
+ #### Find
737
+
738
+ The Find API allows you to programmatically control ** Find** operations, and enables adding the following functionality to your app:
739
+ * Customize ** Find** options, including ** Find Term** , ** Case Sensitivity** , ** Word Matching** , ** Match Highlighting** , and ** Default UI Suppression** .
740
+ * Find text strings and navigate among them within a WebView2 control.
741
+ * Programmatically initiate ** Find** operations, and navigate ** Find** results.
742
+ * Suppress the default ** Find** UI.
743
+ * Track the status of ** Find** operations.
744
+
745
+ There are known issues with the Find API for PDF documents. When you view a PDF document within a WebView2 control, the ** Find** feature currently only provides the first index and the number of matches found. For example, if the string occurs three times in a PDF, the UI would say ** 1/3** and would not support programmatically calling ** Next** or ** Previous** .
746
+
747
+ We're actively investigating these issues, and we encourage you to report any problems you encounter, by using the [ WebView2Feedback] ( https://github.com/MicrosoftEdge/WebViewFeedback ) repo.
748
+
749
+ ##### [ .NET/C#] ( #tab/dotnetcsharp )
750
+
751
+ * ` CoreWebView2 ` Class:
752
+ * [ CoreWebView2.Find Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2.find )
753
+
754
+ * ` CoreWebView2Environment ` Class:
755
+ * [ CoreWebView2Environment.CreateFindOptions Method] ( /dotnet/api/microsoft.web.webview2.core.corewebview2environment.createfindoptions )
756
+
757
+ * [ CoreWebView2Find Class] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find )
758
+ * [ CoreWebView2Find.ActiveMatchIndex Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.activematchindex )
759
+ * [ CoreWebView2Find.ActiveMatchIndexChanged Event] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.activematchindexchanged )
760
+ * [ CoreWebView2Find.FindNext Method] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.findnext )
761
+ * [ CoreWebView2Find.FindPrevious Method] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.findprevious )
762
+ * [ CoreWebView2Find.MatchCount Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.matchcount )
763
+ * [ CoreWebView2Find.MatchCountChanged Event] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.matchcountchanged )
764
+ * [ CoreWebView2Find.StartAsync Method] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.startasync )
765
+ * [ CoreWebView2Find.Stop Method] ( /dotnet/api/microsoft.web.webview2.core.corewebview2find.stop )
766
+
767
+ * [ CoreWebView2FindOptions Class] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions )
768
+ * [ CoreWebView2FindOptions.FindTerm Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions.findterm )
769
+ * [ CoreWebView2FindOptions.IsCaseSensitive Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions.iscasesensitive )
770
+ * [ CoreWebView2FindOptions.ShouldHighlightAllMatches Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions.shouldhighlightallmatches )
771
+ * [ CoreWebView2FindOptions.ShouldMatchWord Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions.shouldmatchword )
772
+ * [ CoreWebView2FindOptions.SuppressDefaultFindDialog Property] ( /dotnet/api/microsoft.web.webview2.core.corewebview2findoptions.suppressdefaultfinddialog )
773
+
774
+ ##### [ WinRT/C#] ( #tab/winrtcsharp )
775
+
776
+ * ` CoreWebView2 ` Class:
777
+ * [ CoreWebView2.Find Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2#find )
778
+
779
+ * ` CoreWebView2Environment ` Class:
780
+ * [ CoreWebView2Environment.CreateFindOptions Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2environment#createfindoptions )
781
+
782
+ * [ CoreWebView2Find Class] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find )
783
+ * [ CoreWebView2Find.ActiveMatchIndex Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#activematchindex )
784
+ * [ CoreWebView2Find.ActiveMatchIndexChanged Event] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#activematchindexchanged )
785
+ * [ CoreWebView2Find.FindNext Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#findnext )
786
+ * [ CoreWebView2Find.FindPrevious Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#findprevious )
787
+ * [ CoreWebView2Find.MatchCount Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#matchcount )
788
+ * [ CoreWebView2Find.MatchCountChanged Event] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#matchcountchanged )
789
+ * [ CoreWebView2Find.StartAsync Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#startasync )
790
+ * [ CoreWebView2Find.Stop Method] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2find#stop )
791
+
792
+ * [ CoreWebView2FindOptions Class] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions )
793
+ * [ CoreWebView2FindOptions.FindTerm Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions#findterm )
794
+ * [ CoreWebView2FindOptions.IsCaseSensitive Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions#iscasesensitive )
795
+ * [ CoreWebView2FindOptions.ShouldHighlightAllMatches Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions#shouldhighlightallmatches )
796
+ * [ CoreWebView2FindOptions.ShouldMatchWord Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions#shouldmatchword )
797
+ * [ CoreWebView2FindOptions.SuppressDefaultFindDialog Property] ( /microsoft-edge/webview2/reference/winrt/microsoft_web_webview2_core/corewebview2findoptions#suppressdefaultfinddialog )
798
+
799
+ ##### [ Win32/C++] ( #tab/win32cpp )
800
+
801
+ * [ ICoreWebView2_28] ( /microsoft-edge/webview2/reference/win32/icorewebview2_28 )
802
+ * [ ICoreWebView2_28::get_Find] ( /microsoft-edge/webview2/reference/win32/icorewebview2_28#get_find )
803
+
804
+ * [ ICoreWebView2Environment15] ( /microsoft-edge/webview2/reference/win32/icorewebview2environment15 )
805
+ * [ ICoreWebView2Environment15::CreateFindOptions] ( /microsoft-edge/webview2/reference/win32/icorewebview2environment15#createfindoptions )
806
+
807
+ * [ ICoreWebView2Find] ( /microsoft-edge/webview2/reference/win32/icorewebview2find )
808
+ * [ ICoreWebView2Find::add_ActiveMatchIndexChanged] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#add_activematchindexchanged )
809
+ * [ ICoreWebView2Find::add_MatchCountChanged] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#add_matchcountchanged )
810
+ * [ ICoreWebView2Find::FindNext] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#findnext )
811
+ * [ ICoreWebView2Find::FindPrevious] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#findprevious )
812
+ * [ ICoreWebView2Find::get_ActiveMatchIndex] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#get_activematchindex )
813
+ * [ ICoreWebView2Find::get_MatchCount] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#get_matchcount )
814
+ * [ ICoreWebView2Find::remove_ActiveMatchIndexChanged] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#remove_activematchindexchanged )
815
+ * [ ICoreWebView2Find::remove_MatchCountChanged] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#remove_matchcountchanged )
816
+ * [ ICoreWebView2Find::Start] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#start )
817
+ * [ ICoreWebView2Find::Stop] ( /microsoft-edge/webview2/reference/win32/icorewebview2find#stop )
818
+
819
+ * [ ICoreWebView2FindActiveMatchIndexChangedEventHandler] ( /microsoft-edge/webview2/reference/win32/icorewebview2findactivematchindexchangedeventhandler )
820
+
821
+ * [ ICoreWebView2FindMatchCountChangedEventHandler] ( /microsoft-edge/webview2/reference/win32/icorewebview2findmatchcountchangedeventhandler )
822
+
823
+ * [ ICoreWebView2FindOptions] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions )
824
+ * [ ICoreWebView2FindOptions::get_FindTerm] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#get_findterm )
825
+ * [ ICoreWebView2FindOptions::get_IsCaseSensitive] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#get_iscasesensitive )
826
+ * [ ICoreWebView2FindOptions::get_ShouldHighlightAllMatches] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#get_shouldhighlightallmatches )
827
+ * [ ICoreWebView2FindOptions::get_ShouldMatchWord] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#get_shouldmatchword )
828
+ * [ ICoreWebView2FindOptions::get_SuppressDefaultFindDialog] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#get_suppressdefaultfinddialog )
829
+ * [ ICoreWebView2FindOptions::put_FindTerm] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#put_findterm )
830
+ * [ ICoreWebView2FindOptions::put_IsCaseSensitive] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#put_iscasesensitive )
831
+ * [ ICoreWebView2FindOptions::put_ShouldHighlightAllMatches] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#put_shouldhighlightallmatches )
832
+ * [ ICoreWebView2FindOptions::put_ShouldMatchWord] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#put_shouldmatchword )
833
+ * [ ICoreWebView2FindOptions::put_SuppressDefaultFindDialog] ( /microsoft-edge/webview2/reference/win32/icorewebview2findoptions#put_suppressdefaultfinddialog )
834
+
835
+ * [ ICoreWebView2FindStartCompletedHandler] ( /microsoft-edge/webview2/reference/win32/icorewebview2findstartcompletedhandler )
836
+
837
+ ---
838
+
839
+
734
840
<!-- ------------------------------ -->
735
841
#### Downloads
736
842
@@ -1256,7 +1362,6 @@ To experiment with Fluent overlay scrollbars, in Microsoft Edge, go to `edge://f
1256
1362
1257
1363
See also:
1258
1364
* [ WebView2 browser flags] ( ./webview-features-flags.md ) - ` msEdgeFluentOverlayScrollbar ` and ` msOverlayScrollbarWinStyle ` flags.
1259
- <!-- todo: article to link to? -->
1260
1365
1261
1366
##### [ .NET/C#] ( #tab/dotnetcsharp )
1262
1367
0 commit comments