167 lines
7.2 KiB
C#
167 lines
7.2 KiB
C#
|
namespace DualScreenDemo
|
||
|
{
|
||
|
public partial class PrimaryForm
|
||
|
{
|
||
|
|
||
|
private void InitializeButton(ref Button button, string buttonText, int x, int y, int width, int height, Rectangle cropArea, Image normalBackground, out Bitmap normalBackgroundOut, Image activeBackground, out Bitmap activeBackgroundOut, EventHandler clickEventHandler)
|
||
|
{
|
||
|
button = new Button { Text = buttonText, Visible = false };
|
||
|
ResizeAndPositionButton(button, x, y, width, height);
|
||
|
normalBackgroundOut = new Bitmap(normalBackground).Clone(cropArea, normalBackground.PixelFormat);
|
||
|
activeBackgroundOut = new Bitmap(activeBackground).Clone(cropArea, activeBackground.PixelFormat);
|
||
|
button.BackgroundImage = normalBackgroundOut;
|
||
|
button.BackgroundImageLayout = ImageLayout.Stretch;
|
||
|
button.FlatStyle = FlatStyle.Flat;
|
||
|
button.FlatAppearance.BorderSize = 0;
|
||
|
button.Click += clickEventHandler;
|
||
|
this.Controls.Add(button);
|
||
|
}
|
||
|
|
||
|
private Button languageSearchButton;
|
||
|
private Bitmap languageSearchNormalBackground;
|
||
|
private Bitmap languageSearchActiveBackground;
|
||
|
|
||
|
private Button guoYuButton;
|
||
|
private Bitmap guoYuNormalBackground;
|
||
|
private Bitmap guoYuActiveBackground;
|
||
|
private Button taiYuButton;
|
||
|
private Bitmap taiYuNormalBackground;
|
||
|
private Bitmap taiYuActiveBackground;
|
||
|
private Button yueYuButton;
|
||
|
private Bitmap yueYuNormalBackground;
|
||
|
private Bitmap yueYuActiveBackground;
|
||
|
private Button yingWenButton;
|
||
|
private Bitmap yingWenNormalBackground;
|
||
|
private Bitmap yingWenActiveBackground;
|
||
|
private Button riYuButton;
|
||
|
private Bitmap riYuNormalBackground;
|
||
|
private Bitmap riYuActiveBackground;
|
||
|
private Button hanYuButton;
|
||
|
private Bitmap hanYuNormalBackground;
|
||
|
private Bitmap hanYuActiveBackground;
|
||
|
private Button keYuButton;
|
||
|
private Bitmap keYuNormalBackground;
|
||
|
private Bitmap keYuActiveBackground;
|
||
|
|
||
|
private void LanguageSongSelectionButton_Click(object sender, EventArgs e)
|
||
|
{
|
||
|
newSongAlertButton.BackgroundImage = newSongAlertNormalBackground;
|
||
|
hotPlayButton.BackgroundImage = hotPlayNormalBackground;
|
||
|
singerSearchButton.BackgroundImage = singerSearchNormalBackground;
|
||
|
songSearchButton.BackgroundImage = songSearchNormalBackground;
|
||
|
languageSearchButton.BackgroundImage = languageSearchActiveBackground;
|
||
|
groupSearchButton.BackgroundImage = groupSearchNormalBackground;
|
||
|
categorySearchButton.BackgroundImage = categorySearchNormalBackground;
|
||
|
orderedSongsButton.BackgroundImage = orderedSongsNormalBackground;
|
||
|
myFavoritesButton.BackgroundImage = myFavoritesNormalBackground;
|
||
|
promotionsButton.BackgroundImage = promotionsNormalBackground;
|
||
|
deliciousFoodButton.BackgroundImage = deliciousFoodNormalBackground;
|
||
|
isOnOrderedSongsPage = false;
|
||
|
|
||
|
guoYuButton.BackgroundImage = guoYuActiveBackground;
|
||
|
taiYuButton.BackgroundImage = taiYuNormalBackground;
|
||
|
yueYuButton.BackgroundImage = yueYuNormalBackground;
|
||
|
yingWenButton.BackgroundImage = yingWenNormalBackground;
|
||
|
riYuButton.BackgroundImage = riYuNormalBackground;
|
||
|
hanYuButton.BackgroundImage = hanYuNormalBackground;
|
||
|
keYuButton.BackgroundImage = keYuNormalBackground;
|
||
|
|
||
|
guoYuSongs = allSongs.Where(song => song.Category == "國語")
|
||
|
.OrderByDescending(song => song.Plays)
|
||
|
.ToList();
|
||
|
currentPage = 0;
|
||
|
currentSongList = guoYuSongs;
|
||
|
totalPages = (int)Math.Ceiling((double)guoYuSongs.Count / itemsPerPage);
|
||
|
|
||
|
|
||
|
multiPagePanel.currentPageIndex = 0;
|
||
|
multiPagePanel.LoadSongs(currentSongList);
|
||
|
|
||
|
|
||
|
SetHotSongButtonsVisibility(false);
|
||
|
SetNewSongButtonsVisibility(false);
|
||
|
SetSingerSearchButtonsVisibility(false);
|
||
|
SetSongSearchButtonsVisibility(false);
|
||
|
SetGroupButtonsVisibility(false);
|
||
|
SetPictureBoxCategoryAndButtonsVisibility(false);
|
||
|
SetZhuYinSingersAndButtonsVisibility(false);
|
||
|
SetZhuYinSongsAndButtonsVisibility(false);
|
||
|
SetEnglishSingersAndButtonsVisibility(false);
|
||
|
SetEnglishSongsAndButtonsVisibility(false);
|
||
|
SetPinYinSingersAndButtonsVisibility(false);
|
||
|
SetPinYinSongsAndButtonsVisibility(false);
|
||
|
SetPictureBoxToggleLightAndButtonsVisibility(false);
|
||
|
SetPictureBoxSceneSoundEffectsAndButtonsVisibility(false);
|
||
|
SetPictureBoxLanguageButtonsVisibility(true);
|
||
|
|
||
|
|
||
|
if (pictureBoxQRCode != null)
|
||
|
{
|
||
|
pictureBoxQRCode.Visible = false;
|
||
|
closeQRCodeButton.Visible = false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void OnLanguageButtonClick(Button activeButton, Image activeBackground, string category)
|
||
|
{
|
||
|
|
||
|
guoYuButton.BackgroundImage = guoYuNormalBackground;
|
||
|
taiYuButton.BackgroundImage = taiYuNormalBackground;
|
||
|
yueYuButton.BackgroundImage = yueYuNormalBackground;
|
||
|
yingWenButton.BackgroundImage = yingWenNormalBackground;
|
||
|
riYuButton.BackgroundImage = riYuNormalBackground;
|
||
|
hanYuButton.BackgroundImage = hanYuNormalBackground;
|
||
|
keYuButton.BackgroundImage = keYuNormalBackground;
|
||
|
|
||
|
|
||
|
activeButton.BackgroundImage = activeBackground;
|
||
|
|
||
|
|
||
|
var selectedSongs = allSongs.Where(song => song.Category == category)
|
||
|
.OrderByDescending(song => song.Plays)
|
||
|
.ToList();
|
||
|
currentPage = 0;
|
||
|
currentSongList = selectedSongs;
|
||
|
totalPages = (int)Math.Ceiling((double)selectedSongs.Count / itemsPerPage);
|
||
|
|
||
|
|
||
|
multiPagePanel.currentPageIndex = 0;
|
||
|
multiPagePanel.LoadSongs(currentSongList);
|
||
|
}
|
||
|
|
||
|
private void SetPictureBoxLanguageButtonsVisibility(bool isVisible)
|
||
|
{
|
||
|
guoYuButton.Visible = isVisible;
|
||
|
guoYuButton.BringToFront();
|
||
|
|
||
|
taiYuButton.Visible = isVisible;
|
||
|
taiYuButton.BringToFront();
|
||
|
|
||
|
yueYuButton.Visible = isVisible;
|
||
|
yueYuButton.BringToFront();
|
||
|
|
||
|
yingWenButton.Visible = isVisible;
|
||
|
yingWenButton.BringToFront();
|
||
|
|
||
|
riYuButton.Visible = isVisible;
|
||
|
riYuButton.BringToFront();
|
||
|
|
||
|
hanYuButton.Visible = isVisible;
|
||
|
hanYuButton.BringToFront();
|
||
|
|
||
|
keYuButton.Visible = isVisible;
|
||
|
keYuButton.BringToFront();
|
||
|
}
|
||
|
|
||
|
private void InitializeButtonsForPictureBoxLanguageQuery()
|
||
|
{
|
||
|
InitializeGuoYuButton();
|
||
|
InitializeTaiYuButton();
|
||
|
InitializeYueYuButton();
|
||
|
InitializeYingWenButton();
|
||
|
InitializeRiYuButton();
|
||
|
InitializeHanYuButton();
|
||
|
InitializeKeYuButton();
|
||
|
}
|
||
|
}
|
||
|
}
|