TX Text Control ActiveX provides the property HeaderFooterAtInputPos to determine the header or footer at the current input position. This is necessary as the HeaderFooterDeactivated event is also fired, if TX Text Control loses the focus. To solve this with TX Text Control .NET for Windows Forms, a small trick can be used.

By setting the focus back to TX Text Control, the HeaderFooterActivated event is fired. This event can be used to update a global variable that holds the current active header state.

string activeHeader;

private void textControl1_HeaderFooterActivated(object sender, TXTextControl.HeaderFooterEventArgs e)
{
    activeHeader = e.HeaderFooter.Type.ToString();
}

private void textControl1_HeaderFooterDeactivated(object sender, TXTextControl.HeaderFooterEventArgs e)
{
    activeHeader = null;
}

Now, we can use this state variable in a small function that returns true, if a header band is currently active:

private bool isHeaderActive()
{
    textControl1.Focus();
    if(activeHeader != null)
            return true;
    else
            return false;
}

This function can be called, if you need to know whether a header or footer is active or not:

private void button1_Click(object sender, System.EventArgs e)
{
    if(isHeaderActive() == false)
        MessageBox.Show("No header / footer is active");
    else
        MessageBox.Show(activeHeader + " is active");
}

Feel free to contact me, if you have any questions or would like to discuss this little trick.