dotnet / dotnet/winforms

Testing result of Pull Request #14919: Add a per-state stroke model for Net11 editable-control borders

Open
#14,997 1 comment 0 reactions 1 assignee Claimed by @ricardobossan View on GitHub
internal-validation
Dominant language
C#
Stars
4.9k
Forks
1.1k
Avg merge
20h 23m
Merged PRs (30d)
103

Description

# Testing Results
Performed re-validation of the TextBoxBase modern field stroke implementation (TextBox, MaskedTextBox, and RichTextBox) under VisualStylesMode.Net11 for GH PR: https://github.com/dotnet/winforms/pull/14919 after the latest updates

State transitions behave as expected:

- Rest state displays a distinct Hover state when the pointer moves over the control.
- Focused state displays the accent-colored bottom edge as designed.
- ReadOnly controls do not enter a Hover visual state.
- Disabled controls remain visually unchanged regardless of mouse interaction.
- State precedence appears consistent with the documented model:
Disabled > Focused > ReadOnly > Hover > Rest.

Previously reported design feedback items have been addressed and the overall visual appearance is now more consistent across states.
But have 3 opening issues, related to BorderStyle-specific state rendering.

# Design Feedback
## Feedback 1: Rest State Bottom Edge Could Better Align with the Focus-State Geometry - Resolved

Image

## Feedback 2: Focus Bottom Edge Appears Slightly Too Thick - Resolved

Image

## Feedback 3: Hover State Reduces the Apparent Editable Area - Resolved

Image

## Feedback 4: ReadOnly and Disabled States Introduce a Visible Inner Border - Resolved
Custom BackColor setting, except disabled RichTextBox control(It has issue here: https://github.com/dotnet/winforms/issues/15053):

Image

Setting Padding to 20:

Image

## Issue 1: Both design time and runtime , no border existing when `BolderStyle `is `FixedSingle `for TextBox/MaskedTextBox/RichTextBox controls - partially fixed, for RichTextBox with BorderStyle = none, it should haven't border --- Filed a separate issue: https://github.com/dotnet/winforms/issues/15055
VisualStylesMode = NET11:
Image
VisualStylesMode = Classic:

Image

## Issue 2: FixedSingle BorderStyle Applies Accent Color to the Entire Border
**Observed Behavior**
When the control receives focus:
• The accent color is applied to the entire border (top, left, right, and bottom).
• The control displays a full accent-colored outline.

Image

**Affect controls:** TextBox/MaskedTextBox/RichTextBox
**Impact**
This creates an inconsistent appearance across BorderStyle variants and differs from the intended TextBoxBase focus-state design, where focus is indicated by an accent-colored bottom edge rather than a full border outline

## Issue 3: Hover Visual State Is Missing for FixedSingle and None BorderStyles
**Observed Behavior**
When the pointer moves over the control:
• BorderStyle = Fixed3D
○ A visible Hover state is displayed.
• BorderStyle = FixedSingle
○ No visible difference between Rest and Hover states.
• BorderStyle = None
○ No visible difference between Rest and Hover states.

Image

****Affect controls:** TextBox/MaskedTextBox/RichTextBox
Impact**
The same control exhibits different state behavior depending on BorderStyle. As a result, users receive Hover feedback with Fixed3D, but no Hover feedback with FixedSingle or None, leading to inconsistent interaction behavior.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.