2016-10-13 3 views
-1

私は作成されたアニメーションにタイマを使用しています。 "Bir"は私の形です。 "ZamanSayacıA"は私のタイマーです。演算子 '=='は '厚さ'と '文字列'タイプのオペランドには適用できません

if (Bir.Margin == "510, 410, 0, 0") 
     { 
      ZamanSayacıA.Stop(); 
     } 

また、次のエラーが発生します。

演算子「==は」タイプ「の厚さ」と「文字列」

+2

「Bir.Margin」の種類は?これは文字列ではなく、暗黙的に文字列に変換されません –

+0

try if(Bir.Margin == new Margin(510,410,0,0))......文字列はできません –

+1

@GiladGreen:それは '厚さ';) –

答えて

2

の両方が、異なるタイプであるため、あなたが==オペレータとThicknessstringを比較することはできません。しかしThicknessは便利になるコンストラクタを持っています

Thickness th = new Thickness(510, 410, 0, 0); 
if(Bir.Margin.Equals(th)) 
{ 

} 

== operatorが過負荷になっているので、あなたにも使用することができます。

if(Bir.Margin == th) 
{ 

} 

を使用すると、文字列のみ"510, 410, 0, 0"を持って、あなたが取得する必要がある場合a Thickness

double[] thLengths = Array.ConvertAll("510, 410, 0, 0".Split(','), double.Parse); 
Thickness th = new Thickness(thLengths[0], thLengths[1], thLengths[2], thLengths[3]); 
0

Bir.MarginstringしかしThicknessないのオペランドに適用することはできません。 stringインスタンスをThicknessのインスタンスと直接比較することはできません。

あなたはThicknessBir.Marginに比較するために作成する必要があります。

if (Bir.Margin == new Margin(510,410,0,0)) 
関連する問題