Переработаны методы.

This commit is contained in:
2026-01-25 02:37:16 +03:00
parent a6ee6fcb36
commit be12154262
17 changed files with 897 additions and 1116 deletions

View File

@@ -54,6 +54,9 @@ public static class DragDropEffectsExtensions
/// <summary>
/// Проверяет, содержит ли эффекты указанный эффект.
/// </summary>
/// <param name="effects">Эффекты для проверки.</param>
/// <param name="effect">Эффект для поиска.</param>
/// <returns>true, если эффект присутствует; в противном случае — false.</returns>
public static bool HasEffect(this DragDropEffects effects, DragDropEffects effect)
{
return (effects & effect) == effect;
@@ -62,6 +65,8 @@ public static class DragDropEffectsExtensions
/// <summary>
/// Проверяет, содержат ли эффекты копирование.
/// </summary>
/// <param name="effects">Эффекты для проверки.</param>
/// <returns>true, если разрешено копирование; в противном случае — false.</returns>
public static bool CanCopy(this DragDropEffects effects)
{
return effects.HasEffect(DragDropEffects.Copy);
@@ -70,6 +75,8 @@ public static class DragDropEffectsExtensions
/// <summary>
/// Проверяет, содержат ли эффекты перемещение.
/// </summary>
/// <param name="effects">Эффекты для проверки.</param>
/// <returns>true, если разрешено перемещение; в противном случае — false.</returns>
public static bool CanMove(this DragDropEffects effects)
{
return effects.HasEffect(DragDropEffects.Move);
@@ -78,6 +85,8 @@ public static class DragDropEffectsExtensions
/// <summary>
/// Проверяет, содержат ли эффекты ссылку.
/// </summary>
/// <param name="effects">Эффекты для проверки.</param>
/// <returns>true, если разрешена ссылка; в противном случае — false.</returns>
public static bool CanLink(this DragDropEffects effects)
{
return effects.HasEffect(DragDropEffects.Link);
@@ -86,6 +95,10 @@ public static class DragDropEffectsExtensions
/// <summary>
/// Получает наиболее подходящий эффект на основе модификаторов клавиатуры.
/// </summary>
/// <param name="controlKey">Нажата ли клавиша Control.</param>
/// <param name="shiftKey">Нажата ли клавиша Shift.</param>
/// <param name="altKey">Нажата ли клавиша Alt.</param>
/// <returns>Наиболее подходящий эффект перетаскивания.</returns>
public static DragDropEffects GetEffectFromKeys(bool controlKey, bool shiftKey, bool altKey)
{
if (controlKey && shiftKey)