1

C#コードで、IHTMLElementsマージンが占める実際のピクセル数を取得する必要があります。そのスタイルとcurrentStyleメンバーを調べましたが、関連する部分がnullであるか、「auto」に設定されています。

インターネットを検索すると、javascriptでgetCurrentStyle関数が表示されますが、c#コードでこれらの数値が必要です。

明らかに、私はjsとhtmlとすべてに少し慣れていません...

それで、c#コードの要素マージン(またはそれに関する他の測定値)に使用されている実際の計算されたピクセル数を取得する方法はありますか?

追加するのを忘れました:これは、当面の間、InternetExplorerでのみ使用されます。

4

3 に答える 3

1

C# コードに含まれている必要がありますか? スクリプトを使用してクライアントでこれを行う方が簡単な場合があります。たとえば、jQueryでは、 width()innerWidth()、およびouterWidth()のいくつかの組み合わせがマージンを返す必要があります。

于 2009-05-11T03:58:29.187 に答える
0

Javascript セクション

var elementToCalc = document.getElementById("あなたの要素");

document.getElementById('txtHidMarginTop').value = parseInt ( elementToCalc.currentStyle.marginTop );
document.getElementById('txtHidMarginLeft').value = parseInt ( elementToCalc.currentStyle.marginLeft;
document.getElementById('txtHidMarginRight').value = parseInt ( elementToCalc.currentStyle.marginRight;
document.getElementById('txtHidMarginBottom').value = parseInt ( elementToCalc.currentStyle.marginBottom );

HTML セクション

<input type='hidden' id='txtHidMarginTop' runat='server' />
<input type='hidden' id='txtHidMarginLeft' runat='server' />
<input type='hidden' id='txtHidMarginBottom' runat='server' />
<input type='hidden' id='txtHidMarginRight' runat='server' />

runat='server' を使用してこれらの変数を input type='hidden' 要素にアタッチすると、DOM 要素の Value プロパティを使用して C# でこれらの変数にアクセスできます。

C# セクション

 string marginTop = int.Parse ( txtHidMarginTop.Value );
    string marginLeft = int.Parse ( txtHidMarginLeft.Value );
    string marginRight = int.Parse ( txtHidMarginRight.Value );
    string marginBottom = int.Parse ( txtHidMarginBottom.Value );
于 2009-05-11T07:45:51.703 に答える
0

offsetWidth から IHTMLElement2.clientWidth を引いてみてはどうでしょうか。

メトリックの詳細については、http: //msdn.microsoft.com/en-us/library/ms530302 (v=vs.85).aspx を参照してください。

于 2011-03-19T00:47:49.727 に答える