Как я могу использовать Windows look'n'feel для контекстного меню системного лотка?

Вы можете вспомнить правильный ответ, поместив его переменную в более высокую область видимости.

Затем вы можете проверить, совпадает ли идентификатор нажатой кнопки со случайным звуком.

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

HTML

Listen to the sound and click a button

fagott image
floyte image

JS

let randomSound = ""
let fagottEl = document.querySelector("#fagott")
let floyteEl = document.querySelector("#floyte")
let sounds = ["fagott","floyte","klarinett","obo","valthorn"]
let player = document.getElementById("player")
let feedback = document.getElementById("feedback")

function chooseRandomSound(){
  randomSound = sounds[Math.floor(Math.random()*sounds.length)];

  player.src = "Vedlegg_V18/" + randomSound + ".mp3"
  player.play()
}   

fagottEl.addEventListener("click", function(e) {
  checkSound(e)
});

floyteEl.addEventListener("click", function(e) {
  checkSound(e)
});

function checkSound(e){
  if(e.target.id == randomSound) {
    feedback.innerHTML = "Correct!"
  } else {
    feedback.innerHTML = "Wrong, it was a " + randomSound
  }
}

chooseRandomSound()

Вы можете попробовать рабочий код на JSFiddle

5
задан Community 8 February 2017 в 14:11
поделиться

1 ответ

На Vista это представляет правильно (т.е. тот же путь рендеринг Dropbox на моей машине) при использовании всех значений по умолчанию.

Вот пример программы, который работает на меня. Попробуйте его, и если это не представляет правильно для Вас, попытайтесь не комментировать две прокомментированных строки.

using System;
using System.Windows.Forms;
using System.Drawing;

public class AC : ApplicationContext
{
    NotifyIcon ni;
    public void menu_Quit(Object sender, EventArgs args)
    {
        ni.Dispose();
        ExitThread();
    }
    public AC()
    {
        ni = new NotifyIcon();
        ni.Icon = SystemIcons.Information;
        ContextMenu menu = new ContextMenu();
        menu.MenuItems.Add("Quit", new EventHandler(menu_Quit));
        ni.ContextMenu = menu;
        ni.Visible = true;
    }
    public static void Main(string[] args)
    {
        //Application.EnableVisualStyles();
        //Application.SetCompatibleTextRenderingDefault(false);
        AC ac = new AC();
        Application.Run(ac);        
    }
}
4
ответ дан 15 December 2019 в 01:11
поделиться
Другие вопросы по тегам:

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