From 986516be951f3b722e4cfbbbb7ebe0ef25362c87 Mon Sep 17 00:00:00 2001 From: jasonchenwork Date: Thu, 27 Mar 2025 14:04:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=B3=E4=B8=8B=E8=BF=94=E5=9B=9E=E6=8C=89?= =?UTF-8?q?=E9=88=95=E6=94=B9=E5=AF=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PrimaryFormParts/PrimaryForm.cs | 71 +++++++++++++++---- ...PrimaryForm.SingerSearch.BopomofoSearch.cs | 2 + .../PrimaryForm.SingerSearch.EnglishSearch.cs | 1 + ...maryForm.SingerSearch.HandwritingSearch.cs | 1 + .../PrimaryForm.SingerSearch.PinyinSearch.cs | 10 +++ ...rimaryForm.SingerSearch.WordCountSearch.cs | 3 +- .../PrimaryForm.SongSearch.BopomofoSearch.cs | 1 + .../PrimaryForm.SongSearch.EnglishSearch.cs | 1 + ...rimaryForm.SongSearch.HandwritingSearch.cs | 1 + .../PrimaryForm.SongSearch.NumberSearch.cs | 3 +- .../PrimaryForm.SongSearch.PinyinSearch.cs | 2 + .../PrimaryForm.SongSearch.WordCountSearch.cs | 1 + 12 files changed, 83 insertions(+), 14 deletions(-) diff --git a/PrimaryFormParts/PrimaryForm.cs b/PrimaryFormParts/PrimaryForm.cs index d5d6e6d..f743675 100644 --- a/PrimaryFormParts/PrimaryForm.cs +++ b/PrimaryFormParts/PrimaryForm.cs @@ -1752,7 +1752,14 @@ public class MultiPagePanel : Panel if (currentPageIndex > 0) { currentPageIndex--; - RefreshDisplay(); + if(currentSongList.Count == 0) + { + RefreshDisplayBase_Singer(); + } + else + { + RefreshDisplay(); + } } } @@ -2971,11 +2978,15 @@ public class MultiPagePanel : Panel playButton.Visible = false; pauseButton.Visible = true; } - + /// + /// 右下角關閉按鈕事件 + /// + /// + /// private void ShouYeButton_Click(object sender, EventArgs e) { autoRefreshTimer.Stop(); // 停止自动刷新 - + /* SetHotSongButtonsVisibility(false); SetNewSongButtonsVisibility(false); SetSingerSearchButtonsVisibility(false); @@ -2989,16 +3000,21 @@ public class MultiPagePanel : Panel // SetPictureBoxWordCountAndButtonsVisibility(false); SetPinYinSingersAndButtonsVisibility(false); SetPinYinSongsAndButtonsVisibility(false); - SetPictureBoxToggleLightAndButtonsVisibility(false); - inputBoxZhuYinSingers.Text = ""; - inputBoxZhuYinSongs.Text = ""; - inputBoxEnglishSingers.Text = ""; - inputBoxEnglishSongs.Text = ""; - inputBoxPinYinSingers.Text = ""; - inputBoxPinYinSongs.Text = ""; - // inputBoxWordCount.Text = ""; + SetPictureBoxToggleLightAndButtonsVisibility(false);*/ + FindFirstNonEmptyText(inputBoxZhuYinSingers + , inputBoxZhuYinSongs + , inputBoxEnglishSingers + , inputBoxEnglishSongs + , inputBoxPinYinSingers + , inputBoxPinYinSongs + , inputBoxWordCountSingers + , inputBoxWordCountSongs + , inputBoxSongIDSearch + , handwritingInputBoxForSongs + , handwritingInputBoxForSingers); + foreach (var label in songLabels) { this.Controls.Remove(label); @@ -3006,7 +3022,38 @@ public class MultiPagePanel : Panel } songLabels.Clear(); } - + /// + /// 查詢空字串,將第一個不為空的字串,重新刷新 + /// + /// + private void FindFirstNonEmptyText(params Control[] controls) + { + foreach (var control in controls) + { + if (!string.IsNullOrEmpty(control.Text)) + { + var temp = control.Text; + ResetinputBox(); + control.Text = temp; + } + } + } + /// + /// 重置所有輸入框 + /// + private void ResetinputBox(){ + inputBoxZhuYinSingers.Text = ""; + inputBoxZhuYinSongs.Text = ""; + inputBoxEnglishSingers.Text = ""; + inputBoxEnglishSongs.Text = ""; + inputBoxPinYinSingers.Text = ""; + inputBoxPinYinSongs.Text = ""; + inputBoxWordCountSingers.Text = ""; + inputBoxWordCountSongs.Text = ""; + inputBoxSongIDSearch.Text = ""; + handwritingInputBoxForSongs.Text = ""; + handwritingInputBoxForSingers.Text = ""; + } private void MuteUnmuteButton_Click(object sender, EventArgs e) { diff --git a/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.BopomofoSearch.cs b/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.BopomofoSearch.cs index fbc1664..60718c0 100644 --- a/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.BopomofoSearch.cs +++ b/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.BopomofoSearch.cs @@ -67,6 +67,8 @@ namespace DualScreenDemo SetZhuYinSingersAndButtonsVisibility(true); // 顯示注音搜尋相關控件 //SetPictureBoxArtistSearchAndButtonsVisibility(false); // 隱藏其他搜尋模式的圖片框 + ResetInputBox(); // 重置輸入框 + // 顯示「注音歌手搜尋」的圖片框 pictureBoxZhuYinSingers.Visible = true; } diff --git a/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.EnglishSearch.cs b/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.EnglishSearch.cs index 518025a..08c77bb 100644 --- a/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.EnglishSearch.cs +++ b/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.EnglishSearch.cs @@ -47,6 +47,7 @@ namespace DualScreenDemo SetHandWritingForSingersAndButtonsVisibility(false); SetEnglishSingersAndButtonsVisibility(true); //SetPictureBoxArtistSearchAndButtonsVisibility(false); + ResetinputBox(); pictureBoxEnglishSingers.Visible = true; } diff --git a/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.HandwritingSearch.cs b/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.HandwritingSearch.cs index a051ce2..9472f2e 100644 --- a/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.HandwritingSearch.cs +++ b/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.HandwritingSearch.cs @@ -48,6 +48,7 @@ namespace DualScreenDemo //SetPictureBoxArtistSearchAndButtonsVisibility(false); SetHandWritingForSingersAndButtonsVisibility(true); + ResetinputBox(); this.ResumeLayout(); } diff --git a/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.PinyinSearch.cs b/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.PinyinSearch.cs index 54d8a50..3915489 100644 --- a/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.PinyinSearch.cs +++ b/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.PinyinSearch.cs @@ -218,6 +218,16 @@ namespace DualScreenDemo multiPagePanel.currentPageIndex = 0; multiPagePanel.LoadSongs(currentSongList); + ///////////////////////////////////////////////////////////////// + /*string searchText = inputBoxPinYinSingers.Text; + var searchResults = allArtists.Where(artist => artist.Name.Replace(" ", "").StartsWith(searchText)).ToList(); + + currentPage = 0; + currentArtistList = searchResults; + totalPages = (int)Math.Ceiling((double)searchResults.Count / itemsPerPage); + + multiPagePanel.currentPageIndex = 0; + multiPagePanel.LoadSingers(currentArtistList);*/ }; diff --git a/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.WordCountSearch.cs b/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.WordCountSearch.cs index 5c6f94f..ecc7377 100644 --- a/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.WordCountSearch.cs +++ b/PrimaryFormParts/SingerSearch/PrimaryForm.SingerSearch.WordCountSearch.cs @@ -86,7 +86,8 @@ namespace DualScreenDemo SetHandWritingForSingersAndButtonsVisibility(false); // 隱藏手寫搜尋相關控件 //SetPictureBoxArtistSearchAndButtonsVisibility(false); // 隱藏其他搜尋模式的圖片框 - SetWordCountSingersAndButtonsVisibility(true); // 顯示字數搜尋相關控件 + SetWordCountSingersAndButtonsVisibility(true); // 顯示字數搜尋相關控件 + ResetinputBox(); // 顯示「注音歌手搜尋」的圖片框 pictureBoxWordCountSingers.Visible = true; } diff --git a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.BopomofoSearch.cs b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.BopomofoSearch.cs index 12d459c..1e9204b 100644 --- a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.BopomofoSearch.cs +++ b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.BopomofoSearch.cs @@ -49,6 +49,7 @@ namespace DualScreenDemo SetPinYinSingersAndButtonsVisibility(false); SetHandWritingForSingersAndButtonsVisibility(false); SetZhuYinSongsAndButtonsVisibility(true); + ResetinputBox(); pictureBoxZhuYinSongs.Visible = true; } /// diff --git a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.EnglishSearch.cs b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.EnglishSearch.cs index 19de466..117758f 100644 --- a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.EnglishSearch.cs +++ b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.EnglishSearch.cs @@ -45,6 +45,7 @@ namespace DualScreenDemo SetHandWritingForSingersAndButtonsVisibility(false); SetZhuYinSongsAndButtonsVisibility(false); SetEnglishSongsAndButtonsVisibility(true); + ResetinputBox(); pictureBoxEnglishSongs.Visible = true; } diff --git a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.HandwritingSearch.cs b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.HandwritingSearch.cs index ef461c6..b2e5482 100644 --- a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.HandwritingSearch.cs +++ b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.HandwritingSearch.cs @@ -49,6 +49,7 @@ namespace DualScreenDemo SetPinYinSongsAndButtonsVisibility(false); SetHandWritingForSongsAndButtonsVisibility(true); + ResetinputBox(); this.ResumeLayout(); } diff --git a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.NumberSearch.cs b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.NumberSearch.cs index f050593..8cd00cf 100644 --- a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.NumberSearch.cs +++ b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.NumberSearch.cs @@ -86,7 +86,8 @@ namespace DualScreenDemo SetPinYinSingersAndButtonsVisibility(false); // 隱藏拼音搜尋相關控件 SetHandWritingForSingersAndButtonsVisibility(false); // 隱藏手寫搜尋相關控件 //SetPictureBoxArtistSearchAndButtonsVisibility(false); // 隱藏其他搜尋模式的圖片框 - + + ResetinputBox(); SetSongIDSearchAndButtonsVisibility(true); // 顯示字數搜尋相關控件 // 顯示「注音歌手搜尋」的圖片框 pictureBoxSongIDSearch.Visible = true; diff --git a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.PinyinSearch.cs b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.PinyinSearch.cs index d406e69..223559a 100644 --- a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.PinyinSearch.cs +++ b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.PinyinSearch.cs @@ -45,6 +45,8 @@ namespace DualScreenDemo SetEnglishSingersAndButtonsVisibility(false); SetPinYinSingersAndButtonsVisibility(false); SetPinYinSongsAndButtonsVisibility(true); + + ResetinputBox(); pictureBoxPinYinSongs.Visible = true; } /// diff --git a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.WordCountSearch.cs b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.WordCountSearch.cs index e791c17..8fcb9e3 100644 --- a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.WordCountSearch.cs +++ b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.WordCountSearch.cs @@ -86,6 +86,7 @@ namespace DualScreenDemo //SetPictureBoxArtistSearchAndButtonsVisibility(false); // 隱藏其他搜尋模式的圖片框 SetWordCountSongsAndButtonsVisibility(true); // 顯示字數搜尋相關控件 // 顯示「注音歌手搜尋」的圖片框 + ResetinputBox(); pictureBoxWordCountSongs.Visible = true; }