Зарезервируйте экранную область в Windows 7

Хорошо, я посмотрел на репозиторий Github, и у вас есть две основные проблемы:

Во-первых, вы вызываете функцию «handleSubmit» в AddStateResuts, но вы не передаете требуемое «e» аргумент для того, чтобы это сработало.

Если вы посмотрите на консоль разработчика, должно появиться предупреждение.

То, что вы можете исправить, как показано ниже, в строке 8 компонента AddStateResuts:

    <form onSubmit={e => this.props.handleSubmit(e)}>

Во-вторых, даже если теперь он отображает значения APC и PDP, он не будет отображать имя состояния.

Это потому, что вы назвали его «nameofstate» в «AddStateResuts», в то время как он назван «name» в «DataSource» и «App». Что я сделал, чтобы это работало, так это изменил все экземпляры «name», относящиеся к имени состояния, на «nameofstate» в компонентах «Datasource», «DisplayStateResult» и «App», так как он более конкретен и теперь работает как очарование.

Хорошее кодирование, я также немного новичок в React, и это может показаться запутанным с самого начала, я предлагаю вам всегда следить за обычной консолью инструментов разработчика, а не только за инструментами React.

5
задан dbkk 7 May 2009 в 20:11
поделиться

2 ответа

Я не уверен, как это сделать напрямую в C #, но в нативном коде вы можете вызвать SystemParametersInfo с помощью SPI_SETWORKAREA. Вот как приложения, такие как панель задач, боковая панель и т. Д., Могут предотвращать перекрытие максимизированных окон.

http://msdn.microsoft.com/en-us/library/ms724947.aspx - документация для SystemParametersInfo.

http://social.msdn.microsoft.com/forums/en-US/winforms/thread/9fe831e5-ccfb-4e8d-a129-68c301c83acb / показывает P / Invoke подписи для этого метода.

3
ответ дан 14 December 2019 в 04:47
поделиться

Я чувствую себя глупо, отвечая на свой вопрос, но благодаря подсказке Майкла я нашел подходящий пример кода C # .

using System;
using System.Runtime.InteropServices;

public class WorkArea
{
  [System.Runtime.InteropServices.DllImport("user32.dll",  EntryPoint="SystemParametersInfoA")]
  private static extern Int32 SystemParametersInfo(Int32 uAction, Int32 uParam, IntPtr lpvParam, Int32 fuWinIni);

  private const Int32 SPI_SETWORKAREA = 47;
  public WorkArea(Int32 Left,Int32 Right,Int32 Top,Int32 Bottom)
  {
    _WorkArea.Left = Left;
    _WorkArea.Top = Top;
    _WorkArea.Bottom = Bottom;
    _WorkArea.Right = Right;
  }

  public struct RECT
  {
    public Int32 Left;
    public Int32 Right;
    public Int32 Top;
    public Int32 Bottom;
  }

  private RECT _WorkArea;
  public void SetWorkingArea()
  {
    IntPtr ptr = IntPtr.Zero;
    ptr = Marshal.AllocHGlobal(Marshal.SizeOf(_WorkArea));
    Marshal.StructureToPtr(_WorkArea,ptr,false);
    int i = SystemParametersInfo(SPI_SETWORKAREA,0,ptr,0);
  }
}
5
ответ дан 14 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: