Как я могу подать заявку Windows Forms.NET, которая только работает в Системном лотке?

Ваш URL для загрузки не является ссылкой на какой-либо файл. Это каталог. Убедитесь, что это файл и существует. Также проверьте окно logcat на наличие журналов ошибок. Еще одно предложение, всегда лучше сделать printStackTrace () в блоках catch вместо Logs. Это дает более подробное представление об ошибке.

Измените эту строку:

    URL url = new URL("http://myexample.com/android/");

на:

    URL url = new URL("http://myexample.com/android/yourfilename.txt"); //some file url

Далее, в блоке catch добавьте эту строку:

e.printStackTrace();

Также в пути к каталогу это должно выглядеть примерно так:

File dir = new File(root.getAbsolutePath() + "/mnt/sdcard/myclock/databases");

вместо

File dir = new File(root.getAbsolutePath() + "/myclock/databases");

Далее убедитесь, что вы получили разрешение на запись во внешнее хранилище в манифесте Android.

209
задан Peter Mortensen 27 May 2014 в 08:36
поделиться

5 ответов

Как говорит mat1t - вам нужно добавить NotifyIcon в ваше приложение, а затем использовать что-то вроде следующего кода для установки всплывающей подсказки и контекста menu:

this.notifyIcon.Text = "This is the tooltip";
this.notifyIcon.ContextMenu = new ContextMenu();
this.notifyIcon.ContextMenu.MenuItems.Add(new MenuItem("Option 1", new EventHandler(handler_method)));

Этот код показывает значок только на панели задач:

this.notifyIcon.Visible = true;  // Shows the notify icon in the system tray

Если у вас есть форма (по любой причине), вам потребуется следующее:

this.ShowInTaskbar = false;  // Removes the application from the taskbar
Hide();

Щелчок правой кнопкой мыши для открытия контекстного меню обрабатывается автоматически, но если вы хотите выполнить какое-либо действие при щелчке левой кнопкой мыши, вам необходимо добавить обработчик щелчка:

    private void notifyIcon_Click(object sender, EventArgs e)
    {
        var eventArgs = e as MouseEventArgs;
        switch (eventArgs.Button)
        {
            // Left click to reactivate
            case MouseButtons.Left:
                // Do your stuff
                break;
        }
    }
17
ответ дан 23 November 2019 в 04:39
поделиться

Я написал приложение для панели задач с помощью .NET 1.1, и мне не нужна форма.
Прежде всего, установите стартовый объект проекта как Sub Main , определенный в модуле.
Затем программно создайте компоненты: NotifyIcon и ContextMenu .
Не забудьте включить MenuItem «Выйти» или аналогичный.
Привяжите ContextMenu к NotifyIcon .
Вызов Application.Run () .
В обработчике событий для Quit MenuItem обязательно вызовите набор NotifyIcon.Visible = False , затем Application.Exit () . Добавьте то, что вам нужно, в ContextMenu и обработайте правильно :)

15
ответ дан 23 November 2019 в 04:39
поделиться

Приложение "Панель задач" - это обычное приложение для создания форм выигрыша, с той лишь разницей, что оно создает значок в области панели задач Windows. Чтобы создать значок sys.tray, используйте компонент NotifyIcon, вы можете найти его на панели инструментов (Общие элементы управления) и изменить его свойства: значок, всплывающая подсказка. Также он позволяет обрабатывать сообщения о щелчках мыши и двойных щелчках.

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

private void MainForm_Shown(object sender, EventArgs e)
{
    WindowState = FormWindowState.Minimized;
    Hide();
} 
8
ответ дан 23 November 2019 в 04:39
поделиться

Насколько мне известно вы по-прежнему должны писать приложение, используя форму, но не иметь элементов управления в форме и никогда не делать его видимым. Используйте NotifyIcon (образец MSDN которого можно найти здесь ), чтобы написать свое приложение.

6
ответ дан 23 November 2019 в 04:39
поделиться
  1. Создайте новое приложение Windows с помощью мастера.
  2. Удалите Form1 из кода.
  3. Удалите код в Program.cs, запуская Form1 .
  4. Используйте класс NotifyIcon , чтобы создать значок на панели задач (назначить ему значок).
  5. Добавьте к нему контекстное меню.
  6. Или отреагируйте на щелчок мышью NotifyIcon и проведите различие между правым и левым щелчком, установив контекстное меню и показывая его, для какой кнопки (правая / левая) была нажата.
  7. Приложение. Запустите () , чтобы приложение продолжало работать, и Application.Exit () для выхода. Или bool bRunning = true; while (bRunning) {Application.DoEvents (); Thread.Sleep (10);} . Затем установите bRunning = false; , чтобы выйти из приложения.
10
ответ дан 23 November 2019 в 04:39
поделиться
Другие вопросы по тегам:

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