投票結果を確認するためには、投票機能モジュールが不可欠です。プログレスバーを使用して各投票結果を表示することで、明確な効果を得ることができます。以下は私の方法です。ぜひ教えてください。
1: プログレスバーとして使用する画像を作成します。高さ 20 ピクセル、幅 1 ピクセルなどの非常に小さい画像のみが必要です。
2: プログレスバーが表示されるセルに画像コントロールを挿入し、その imageUrl を完成した画像の場所に設定します。
3: dataReaderオブジェクトdrを使用して各項目の取り出し票数を保存、int型変数sumを使用して取り出し総票数を保存、項目ごとにdouble型変数を定義して除算結果を保存個別の投票数を (/) で合計投票数 (10 進数) で計算し、最終的に表示されるプログレス バーの長さを保存する int 型変数を定義します (前の double 型変数 * セルの長さを使用します)プログレスバーを表示するために使用され、次に int 型への変換を強制します)、長さを割り当てます。画像の width 属性を指定するだけです。以下は、4 つのプログレス バーを表示するコード スニペットです。
SqlCommand cmd=new SqlCommand("select * from TvoteNum order by Vid",con);//各項目の投票結果を調べるための SQL ステートメント
SqlDataReader dr=cmd.ExecuteReader();
......
SqlCommand cmd1=new SqlCommand("select sum(Vnum) from TvoteNum",con1);//総投票数を調べるための SQL ステートメント
int sum=Convert.ToInt32(cmd1.ExecuteScalar());
...
dr.Read();//datareader オブジェクトの最初のレコードを読み取ります
this.Label1.Text=dr.GetInt32(1).ToString();//最初の項目の投票数
double w1=(Convert.ToDouble(this.Label1.Text)/sum);//この項目の投票数が総投票数に占める割合
int wid1=(int)(w1*310);//特定のピクセルに変換します。310 は進行状況バーの表示に使用されるセルの長さです
this.Image1.Width=wid1;//画像に割り当てられた幅
dr.Read();// 2 番目のレコードを読み取ります
this.Label2.Text=dr.GetInt32(1).ToString();
double w2=(Convert.ToDouble(this.Label2.Text)/sum);
int wid2=(int)(w2*310);
this.Image2.Width=wid2;
dr.Read();// 3 番目のレコードを読み取ります
this.Label3.Text=dr.GetInt32(1).ToString();
double w3=(Convert.ToDouble(this.Label3.Text)/sum);
int wid3=(int)(w3*310);
this.Image3.Width=wid3;
dr.Read();// 4 番目のレコードを読み取ります
this.Label4.Text=dr.GetInt32(1).ToString();
double w4=(Convert.ToDouble(this.Label4.Text)/sum);
int wid4=(int)(w4*310);
this.Image4.Width=wid4;
......