歌星字數查詢鍵盤改寫

This commit is contained in:
jasonchenwork 2025-03-24 17:32:33 +08:00
parent c7bf8d9e69
commit 7ac4cea4d8
44 changed files with 909 additions and 179 deletions

View File

@ -584,8 +584,9 @@ namespace DualScreenDemo
InitializeButtonsForZhuYinSongs();
InitializeButtonsForEnglishSingers();
InitializeButtonsForEnglishSongs();
InitializeButtonsForPictureBoxArtistSearch();
//InitializeButtonsForPictureBoxArtistSearch();
InitializeButtonsForWordCountSongs();
InitializeButtonsForWordCountSingers();
InitializeButtonsForPinYinSingers();
InitializeButtonsForPinYinSongs();
InitializeButtonsForSongIDSearch();
@ -789,6 +790,14 @@ namespace DualScreenDemo
Visible = false
};
pictureBoxWordCountSingers = new PictureBox
{
Name = "pictureBoxWordCountSingers",
BackColor = Color.Transparent,
SizeMode = PictureBoxSizeMode.StretchImage,
Visible = false
};
pictureBoxPinYinSingers = new PictureBox
{
Name = "pictureBoxPinYinSingers",
@ -902,7 +911,7 @@ namespace DualScreenDemo
this.Controls.Add(pictureBoxEnglishSingers);
this.Controls.Add(pictureBoxEnglishSongs);
this.Controls.Add(pictureBoxArtistSearch);
this.Controls.Add(pictureBoxWordCount);
this.Controls.Add(pictureBoxWordCountSingers);
this.Controls.Add(pictureBoxPinYinSingers);
this.Controls.Add(pictureBoxPinYinSongs);
this.Controls.Add(pictureBoxHandWritingSingers);

View File

@ -65,7 +65,7 @@ namespace DualScreenDemo
SetPinYinSingersAndButtonsVisibility(false); // 隱藏拼音搜尋相關控件
SetHandWritingForSingersAndButtonsVisibility(false); // 隱藏手寫搜尋相關控件
SetZhuYinSingersAndButtonsVisibility(true); // 顯示注音搜尋相關控件
SetPictureBoxArtistSearchAndButtonsVisibility(false); // 隱藏其他搜尋模式的圖片框
//SetPictureBoxArtistSearchAndButtonsVisibility(false); // 隱藏其他搜尋模式的圖片框
// 顯示「注音歌手搜尋」的圖片框
pictureBoxZhuYinSingers.Visible = true;

View File

@ -46,7 +46,7 @@ namespace DualScreenDemo
SetPinYinSingersAndButtonsVisibility(false);
SetHandWritingForSingersAndButtonsVisibility(false);
SetEnglishSingersAndButtonsVisibility(true);
SetPictureBoxArtistSearchAndButtonsVisibility(false);
//SetPictureBoxArtistSearchAndButtonsVisibility(false);
pictureBoxEnglishSingers.Visible = true;
}

View File

@ -45,7 +45,7 @@ namespace DualScreenDemo
SetZhuYinSingersAndButtonsVisibility(false);
SetEnglishSingersAndButtonsVisibility(false);
SetPinYinSingersAndButtonsVisibility(false);
SetPictureBoxArtistSearchAndButtonsVisibility(false);
//SetPictureBoxArtistSearchAndButtonsVisibility(false);
SetHandWritingForSingersAndButtonsVisibility(true);
this.ResumeLayout();

View File

@ -41,7 +41,7 @@ namespace DualScreenDemo
SetZhuYinSingersAndButtonsVisibility(false);
SetEnglishSingersAndButtonsVisibility(false);
SetPinYinSingersAndButtonsVisibility(true);
SetPictureBoxArtistSearchAndButtonsVisibility(false);
//SetPictureBoxArtistSearchAndButtonsVisibility(false);
pictureBoxPinYinSingers.Visible = true;
}

View File

@ -90,7 +90,7 @@ namespace DualScreenDemo
InitializeSearchButton(ref pinyinSearchButton, "pinyinSearchButton", 1214, 356, 209, 58, ref pinyinSearchNormalBackground, ref pinyinSearchActiveBackground, normalStateImageArtistQuery, mouseDownImageArtistQuery, PinyinSingerSearchButton_Click);
InitializeSearchButton(ref wordCountSearchButton, "strokeCountSearchButton", 1214, 418, 209, 59, ref wordCountSearchNormalBackground, ref wordCountSearchActiveBackground, normalStateImageArtistQuery, mouseDownImageArtistQuery, WordCountSearchButton_Click);
InitializeSearchButton(ref wordCountSearchButton, "workCountSearchButton", 1214, 418, 209, 59, ref wordCountSearchNormalBackground, ref wordCountSearchActiveBackground, normalStateImageArtistQuery, mouseDownImageArtistQuery, WordCountSearchSingersButton_Click);
InitializeSearchButton(ref handWritingSearchButton, "handWritingSearchButton", 1214, 481, 209, 59, ref handWritingSearchNormalBackground, ref handWritingSearchActiveBackground, normalStateImageArtistQuery, mouseDownImageArtistQuery, HandWritingSearchButtonForSingers_Click);
}

View File

@ -85,7 +85,7 @@ namespace DualScreenDemo
SetEnglishSingersAndButtonsVisibility(false); // 隱藏英文字母搜尋相關控件
SetPinYinSingersAndButtonsVisibility(false); // 隱藏拼音搜尋相關控件
SetHandWritingForSingersAndButtonsVisibility(false); // 隱藏手寫搜尋相關控件
SetPictureBoxArtistSearchAndButtonsVisibility(false); // 隱藏其他搜尋模式的圖片框
//SetPictureBoxArtistSearchAndButtonsVisibility(false); // 隱藏其他搜尋模式的圖片框
SetSongIDSearchAndButtonsVisibility(true); // 顯示字數搜尋相關控件
// 顯示「注音歌手搜尋」的圖片框

View File

@ -38,21 +38,21 @@ namespace DualScreenDemo
private Button clearButtonWordCountSongs;
private Button closeButtonWordCountSongs;
private string[] numberWordCountSymbols;
private (int X, int Y, int Width, int Height)[] numberWordCountButtonCoords;
private Dictionary<string, (string normal, string mouseDown, string mouseOver)> numberWordCountButtonImages;
//private string[] numberWordCountSymbols;
//private (int X, int Y, int Width, int Height)[] numberWordCountButtonCoords;
//private Dictionary<string, (string normal, string mouseDown, string mouseOver)> numberWordCountButtonImages;
private (int X, int Y, int Width, int Height) modifyButtonWordCountCoords;
private (int X, int Y, int Width, int Height) clearButtonWordCountCoords;
private (int X, int Y, int Width, int Height) closeButtonWordCountCoords;
//private (int X, int Y, int Width, int Height) modifyButtonWordCountCoords;
//private (int X, int Y, int Width, int Height) clearButtonWordCountCoords;
//private (int X, int Y, int Width, int Height) closeButtonWordCountCoords;
private RichTextBox inputBoxWordCountSongs;
private (int X, int Y, int Width, int Height) inputBoxWordCountCoords;
private string inputBoxWordCountFontName;
private float inputBoxWordCountFontSize;
private FontStyle inputBoxWordCountFontStyle;
private Color inputBoxWordCountForeColor;
//private (int X, int Y, int Width, int Height) inputBoxWordCountCoords;
//private string inputBoxWordCountFontName;
//private float inputBoxWordCountFontSize;
//private FontStyle inputBoxWordCountFontStyle;
//private Color inputBoxWordCountForeColor;
/// <summary>
/// <para> 點擊「注音歌手搜尋」按鈕時執行的事件處理函式。</para>
@ -83,7 +83,7 @@ namespace DualScreenDemo
SetPinYinSingersAndButtonsVisibility(false); // 隱藏拼音搜尋相關控件
SetHandWritingForSingersAndButtonsVisibility(false); // 隱藏手寫搜尋相關控件
SetPictureBoxArtistSearchAndButtonsVisibility(false); // 隱藏其他搜尋模式的圖片框
//SetPictureBoxArtistSearchAndButtonsVisibility(false); // 隱藏其他搜尋模式的圖片框
SetWordCountSongsAndButtonsVisibility(true); // 顯示字數搜尋相關控件
// 顯示「注音歌手搜尋」的圖片框
pictureBoxWordCountSongs.Visible = true;
@ -94,7 +94,7 @@ namespace DualScreenDemo
/// <para>從 config.ini 設定檔中載入注音符號NumberWordCount Symbols。</para>
/// <para>讀取 ini 檔的 [NumberWordCountSymbols] 區塊並將「Symbols」欄位的值解析為陣列。</para>
/// </summary>
private void LoadNumberWordCountSymbolsFromConfig()
/*private void LoadNumberWordCountSymbolsFromConfig()
{
// 建立 INI 檔案解析器
var parser = new FileIniDataParser();
@ -116,7 +116,7 @@ namespace DualScreenDemo
// 將符號字串以逗號分隔,轉換為字串陣列
numberWordCountSymbols = symbols.Split(',');
}
}*/
/// <summary>
@ -140,14 +140,14 @@ namespace DualScreenDemo
/// </summary>
/// <param name="data">已解析的 INI 設定數據。</param>
/// <returns>回傳包含注音符號的字串陣列。</returns>
private string[] LoadNumberWordCountSymbols(IniData data)
/*private string[] LoadNumberWordCountSymbols(IniData data)
{
// 從 INI 檔案的 [NumberWordCountSymbols] 區塊取得 Symbols 欄位值
string symbols = data["NumberWordCountSymbols"]["Symbols"];
// 以逗號分隔字串並轉換為字串陣列
return symbols.Split(',');
}
}*/
/// <summary>
@ -244,7 +244,7 @@ namespace DualScreenDemo
/// <summary>
/// 初始化並設置語音按鈕的相關資料,包括符號、座標與圖片等。
/// </summary>
private void InitializeNumberWordCountButtons()
private void InitializeNumberWordCountSongsButtons()
{
// 載入配置資料
var data = LoadConfigDataforWordCountSongs();
@ -268,7 +268,7 @@ namespace DualScreenDemo
var buttonImages = numberWordCountButtonImages[$"button{i}"];
// 創建並初始化語音按鈕,設定其背景圖片
CreateNumberWordCountButton(i, buttonImages.normal, buttonImages.mouseDown, buttonImages.mouseOver);
CreateNumberWordCountSongsButton(i, buttonImages.normal, buttonImages.mouseDown, buttonImages.mouseOver);
}
}
@ -280,7 +280,7 @@ namespace DualScreenDemo
/// <param name="normalImagePath">正常狀態下的圖片路徑。</param>
/// <param name="mouseDownImagePath">點擊狀態下的圖片路徑。</param>
/// <param name="mouseOverImagePath">滑鼠移過狀態下的圖片路徑。</param>
private void CreateNumberWordCountButton(int index, string normalImagePath, string mouseDownImagePath, string mouseOverImagePath)
private void CreateNumberWordCountSongsButton(int index, string normalImagePath, string mouseDownImagePath, string mouseOverImagePath)
{
try
{
@ -310,7 +310,7 @@ namespace DualScreenDemo
numberWordCountButtonsForSongs[index].MouseLeave += (s, e) => numberWordCountButtonsForSongs[index].BackgroundImage = normalImage;
// 設置點擊事件處理方法
numberWordCountButtonsForSongs[index].Click += NumberWordCountButton_Click;
numberWordCountButtonsForSongs[index].Click += NumberWordCountSongsButton_Click;
// 設置按鈕的 Tag 屬性為對應的語音符號
numberWordCountButtonsForSongs[index].Tag = numberWordCountSymbols[index];
@ -335,7 +335,7 @@ namespace DualScreenDemo
LoadNumberWordCountSymbolsFromConfig();
// 初始化所有語音按鈕
InitializeNumberWordCountButtons();
InitializeNumberWordCountSongsButtons();
// 初始化注音歌手的特殊按鈕(例如音量、搜尋等)
InitializeSpecialButtonsForWordCountSongs();
@ -852,7 +852,7 @@ namespace DualScreenDemo
action(); // 否則直接執行
}
}
private void NumberWordCountButton_Click(object sender, EventArgs e)
private void NumberWordCountSongsButton_Click(object sender, EventArgs e)
{
var button = sender as Button;
if (button != null && button.Tag != null)
@ -864,6 +864,7 @@ namespace DualScreenDemo
}
}
}
}
}

View File

@ -8,6 +8,7 @@ EnglishSongs = themes\superstar\歌名\英文\VOD_歌名查詢_英文查詢(按
PinYinSongs = themes\superstar\歌星\拼音\VOD_歌星查詢_拼音查詢(按鍵)_歌星查詢-注音查詢_未按.png
HandWritingSongs = themes\superstar\歌星\手寫\3.歌星查詢(手寫按鍵)_未按.png
WordCountSongs = themes\superstar\歌名\字數\VOD_歌名查詢_編號查詢(按鍵)_未按_沒有確認.png
WordCountSingers = themes\superstar\歌星\字數\VOD_歌星查詢_編號查詢(按鍵)_未按_沒有確認.png
SongIDSearch = themes\superstar\歌名\編號\VOD_歌名查詢_編號查詢(按鍵)_未按_沒有確認.png
[PictureBoxZhuYinSingers]
@ -114,6 +115,9 @@ closeButtonForSongs = 1074,372,70,65
modifyButtonWordCountSongs = 926,624,72,67
clearButtonWordCountSongs = 845,624,72,67
closeButtonWordCountSongs = 1088,624,72,67
modifyButtonWordCountSingers = 926,624,72,67
clearButtonWordCountSingers = 845,624,72,67
closeButtonWordCountSingers = 1088,624,72,67
modifyButtonSongIDSearch = 811,643,94,87
clearButtonSongIDSearch = 692,643,93,87
closeButtonSongIDSearch = 1051,643,94,87
@ -762,4 +766,21 @@ mouseDown = themes\superstar\歌名\編號\VOD_歌名查詢_編號查詢(按鍵)
[CloseButtonImagesSongID]
normal = themes\superstar\歌名\編號\VOD_歌名查詢_編號查詢(按鍵)-15.png
mouseOver = themes\superstar\歌名\編號\VOD_歌名查詢_編號查詢(按鍵)-15.png
mouseDown = themes\superstar\歌名\編號\VOD_歌名查詢_編號查詢(按鍵)-30.png
mouseDown = themes\superstar\歌名\編號\VOD_歌名查詢_編號查詢(按鍵)-30.png
[PictureBoxWordCountSingers]
X = 790
Y = 350
Width = 420
Height = 350
[InputBoxWordCountSingers]
X = 800
Y = 405
Width = 400
Height = 60
FontName = Times New Roman
FontSize = 26
FontStyle = Regular
ForeColor = Black

View File

@ -103,3 +103,11 @@
於 DualScreenDemo.PrimaryForm.InitializeFormAndControls()
於 DualScreenDemo.PrimaryForm..ctor()
於 DualScreenDemo.Program.Main()
[2025/3/24 下午 04:28:36] System.NullReferenceException: 並未將物件參考設定為物件的執行個體。
於 DualScreenDemo.PrimaryForm.LoadSpecialButtonCoordinatesForWordCountSingers(IniData data, String section, String buttonKey)
於 DualScreenDemo.PrimaryForm.InitializeModifyButtonWordCountSingers()
於 DualScreenDemo.PrimaryForm.InitializeSpecialButtonsForWordCountSingers()
於 DualScreenDemo.PrimaryForm.InitializeButtonsForWordCountSingers()
於 DualScreenDemo.PrimaryForm.InitializeFormAndControls()
於 DualScreenDemo.PrimaryForm..ctor()
於 DualScreenDemo.Program.Main()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB