HtmlContentControl.AllowContentSelection Property
Gets or sets whether users can select the contents of HTML tags.
Namespace: DevExpress.XtraEditors
Assembly: DevExpress.XtraEditors.v24.1.dll
NuGet Package: DevExpress.Win.Navigation
Declaration
[DefaultValue(DefaultBoolean.Default)]
[DXCategory("Behavior")]
public DefaultBoolean AllowContentSelection { get; set; }
Property Value
Type | Default | Description |
---|---|---|
DefaultBoolean | Default | Specifies the initial value of the |
Available values:
Name | Description | Return Value |
---|---|---|
True | The value is true. |
|
False | The value is false. |
|
Default | The value is specified by a global option or a higher-level object. |
|
Remarks
Enable the AllowContentSelection
property to allow users to select text displayed by HTML templates. Note that when users drag the mouse pointer to select a portion of text, button captions, images, and other HTML elements along the way are also selected.
The textual content of the selected region is stored in the SelectedText property. The code below copies this property’s value to the clipboard when a user presses Ctrl+C:
private void HtmlContentControl2_KeyDown(object sender, KeyEventArgs e) {
HtmlContentControl hcc = sender as HtmlContentControl;
if (e.Control && e.KeyCode == Keys.C)
Clipboard.SetText(hcc.SelectedText);
}
When the selection changes, the SelectedTextChanged event occurs. Handle this event to inspect and modify the SelectedText property value. For instance, you can remove the contents of non-textual elements that were selected along with regular text.
private void htmlContentControl2_SelectedTextChanged(object sender, EventArgs e) {
HtmlContentControl hcc = sender as HtmlContentControl;
string updatedText = hcc.SelectedText.Replace(" OK Cancel ", " ");
}
You can also use the user-select
CSS property to prevent unwanted HTML elements from being selected when the AllowContentSelection property is enabled.
<div class="button unselectable">Cancel</div>
.unselectable { user-select: none; }
If the AllowContentSelection property is set to DefaultBoolean.Default
or DefaultBoolean.False
, utilize the user-select
CSS property to enable selection for individual elements.
.selectable { user-select: all; }
.selectableText { user-select: text; }